Datamatrix码
DataMatrix二维条码原名Datacode,由美国国际资料公司(International Data Matrix, 简称ID Matrix)於1989年发明。DataMatrix二维条码是一种矩阵式二维条码,其发展的构想是希望在较小的条码标签上存入更多的资料量。DataMatrix二维条码的最小尺寸是目前所有条码中最小的,尤其特别适用於小零件的标识,以及直接印刷在实体上。
DataMatrix二维条码又可分为ECC000-140与ECC200两种类型,ECC000-140具有多种不同等级的错误纠正功能,而ECC200则透过Reed-Solomon演算法产生多项式计算出错误纠正码,其尺寸可以依需求印成不同大小,但采用的错误纠正码应与尺寸配合,由於其演算法较为容易,且尺寸较有弹性,故一般以ECC200较为普遍,本节也仅介绍ECC200规格的DataMatrix二维条码码,以下所说的DataMatrix二维条码事实上都是指ECC200而言。
DataMatrix二维条码的外观是一个由许多小方格所组成的正方形或长方形符号,其资讯的储存是以浅色与深色方格的排列组合,以二位元码(Binary-code)方式来编码,故电脑可直接读取其资料内容,而不需要如传统一维条码的符号对映表(Character Look-up Table)。深色代表 “1”,浅色代表 “0”,再利用成串(String)的浅色与深色方格来描述特殊的字元资讯,这些字串再列成一个完成的矩阵式码,形成DataMatrix二维条码码,再以不同的印表机印在不同材质表面上。由於DataMatrix二维条码只需要读取资料的20%即可精确辨读,因此很适合应用在条码容易受损的场所,例如印在暴露於高热、化学清洁剂、机械剥蚀等特殊环境的零件上。
DataMatrix二维条码的尺寸可任意调整,最大可到14平方英寸,最小可到0.0002平方英寸,这个尺寸也是目前一维与二维条码中最小的,因此特别适合印在电路板的零组件上。另一方面,大多数的条码的大小与编入的资料量有绝对的关系,但是DataMatrix二维条码的尺寸与其编入的资料量却是相互独立的,因此它的尺寸比较有弹性。 此外,DataMatrix二维条码最大储存量为2,000bytes,自动纠正错误的能力较低,只适用特别的CCD扫瞄器来解读。
DataMatrix二维条码的结构
(一) 特性
DataMatrix二维条码码具有以下特性:
可编码字元集包括全部的ASCII字元及扩充ASCII字元,共256个字元。
条码大小(不包括空白区):10×10 ~ 144×144
资料容量:235个文数字资料,1556个8位元资料,3116个数字资料。
错误纠正:透过Reed-Solomon演算法产生多项式计算获得错误纠正码。不同尺寸宜采用不同数量的错误纠正码。
(二 )基本结构
每个DataMatrix二维条码符号由规则排列的方形模组构成的资料区组成,资料区的四周由定位图形(Finder Pattern)所包围,定位图形的四周则由空白区包围,资料区再以排位图形(Alignment Patterns)加以分隔。
定位图形
定位图形是资料区域的一个周界,为一个模组宽度。其中两条邻边为暗实线,主要用於限定物理尺寸;定位和符号失真。另两条邻边由交替的深色和浅色模组组成,主要用於限定符号的单元结构,但也能帮助确定物理尺寸及失真。
符号尺寸
ECC000-140符号有奇数行与奇数列。符号外观为一方形矩阵,尺寸从9×9至49×49,不包括空白区。这些符号可透过右上角深色方格识别出来。
ECC200符号有偶数行与偶数列。有些符号是正方形,尺寸从10×10至144×144,不包括空白区。有些是长方形,尺寸从8×18至16×48,不包括空白区。所有的ECC200符号都可以透过右上角浅色方格识别出来。
资料表示方法
DataMatrix二维条码按以下步骤来表示资料:
资料编码
先分析要表示的资料,选取合适的编码方案,按所选定的方案将资料流转为字码流,并加入必要的填字,如果使用者未规定矩阵寸,则应选取能满足要存放资料的最小尺寸。DataMatrix二维条码共有6种编码方案,即6种字码集,见表10.1。
DataMatrix二维条码的编码方案与相对应之字元集
编码方案 字元集
ASCII 十进位数字
ASCII值0~127
扩展ASCII值128~255
C40
基本大写文数字型
Text 基本小写文数字型
EDIFACT 32~94
Base256 0~255
X12 ANSI X12 EDI数据集
错误检测和纠正字码(ECC)的产生
对少於255个字码的DataMatrix二维条码,错误纠正字码可由资料字码计算得出。对於多於255个字码的符号,应将资料字码分成多个模组,然後再产生每一个模组的错误纠正字码。错误纠正字码能够纠正两种类误字码,包括E错误(已知位置上的错误字码),以及T错误(未知位置上的错误字码)。换句话说,E错误是不能被扫瞄或不能被解码的符号字元,T错误则是被错误解码的符号字元。
Datamatrix码的更多相关文章
- Atitit Data Matrix dm码的原理与特点
Atitit Data Matrix dm码的原理与特点 Datamatrix原名Datacode,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于 ...
- zxing源码分析——QR码部分
Android应用横竖屏切换 zxing源码分析——DataMatrix码部分 zxing源码分析——QR码部分 2013-07-10 17:16:03| 分类: 默认分类 | 标签: |字号大中 ...
- C# 生成 DataMatrix 格式的二维码
该文主要是利用OnBarcode.dll 生成 DataMatrix 格式的二维码的一些简单方法和操作技巧.关于QrBarcode的二维码比较常见和简单,网上有很多资源. 1.附件为dll 2.利用上 ...
- DataMatrix二维条码源码分析检测识别图像位置
发布时间:2014-10-31 DataMatrix的代码结构和QR码基本相同: 其中Detector的功能还是从原始图像中找出符号码的部分,并且进行透视转换纠正扭曲. 其解码流程与QR码差不多,关键 ...
- 打印十字码 DataMatrix
nuget 安装 DataMatrix.net //示例 DmtxImageEncoder Die = new DmtxImageEncoder(); DataMatrix.net.DmtxImage ...
- SparkMLlib之 logistic regression源码分析
最近在研究机器学习,使用的工具是spark,本文是针对spar最新的源码Spark1.6.0的MLlib中的logistic regression, linear regression进行源码分析,其 ...
- FastReport 中添加二维码功能.(Delphi)
http://www.cnblogs.com/fancycloud/archive/2011/07/24/2115240.html FastReport 中添加二维码功能.(Delphi) 在实际 ...
- JAVA上百实例源码以及开源项目
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...
- 随手记一次利用开源zxing生成带嵌入logo的二维码图片
之前就在项目里面用过zxing生成二维码,最近另一个项目同样需要用到二维码,故重新在学了学利用zxing生成二维码 接下来先做准备工作了,因为我是用vs2013上开发的,故选择了.net4.5版本的z ...
随机推荐
- 疯狂的补贴,广州司机都被Uber触动
“上线的司机起码少了一半.” 或许是因为长期工作超过12个小时的缘故,39岁的广州人民优步司机姜德昌看上去双眼浮肿,但精力充沛.这是5月8日的一个下午,一周之前他所服务的Uber广州分公司被查封. 据 ...
- hdu 4741 Save Labman No.004(2013杭州网络赛)
http://blog.sina.com.cn/s/blog_a401a1ea0101ij9z.html 空间两直线上最近点对. 这个博客上给出了很好的点法式公式了...其实没有那么多的tricky. ...
- Codeforces Round #263
http://codeforces.com/contest/461 A.水题 B.太挫了,竟然被hack了一发.... C.贪心..竟然没看出来时哈夫曼编码问题 D.题目大意:给一棵树,每一个点为白色 ...
- 送给刚刚開始学cocos2d-x引擎 移植Android的同学
刚刚開始学cocos2-x,不过依照教程把已经安了一般Android的开发环境的eclipse又一次升级到安装好cdt和ndk就花了我几十小时,差点都要放弃了. 參考博客 http://blog.cs ...
- 5.4 RegExp类型
ECMAScript通过RegExp类型来支持正则表达式.使用下面类似Perl的语法,就可以创建一个正则表达式. var expression=/pattern/flags; 复制代码 其中的模式(p ...
- FOREIGN KEY相关
在添加外键的时候可以在最后通过ON指定行为和三个参数,来表示操作主表数据之后外表的变化 比如若是删除主表之后的变化,就可以 ON DELETE + 三个参数 --删除department表中相关数据行 ...
- github桌面软件使用教程
github桌面软件使用教程 首先 要先安装 桌面版官网,或者百度搜github windows下载即可 可以再github网站上直接点击,把代码添加的桌面软件中 也可以再左上角添加项目,比如actu ...
- Teclast/台电 P98HD四核测评9.7寸台电P98HD 评测体验 (转载)
自从苹果新iPad上市推出后,拥有Retina高清屏幕分辨率的平板让我们的视线一下子变得“清晰”起来,超高2048x1536分辨率也成为厂商们追捧的对象,在经历了双核时代配备高清分辨率对于硬件性能承载 ...
- 一个帝国cms [!--show.listpage--] css样式
1.在分页位置加<div class="pagepage">[!--show.listpage--]</div> </div>这个标签 2.在需 ...
- protel99se中做拼板图解
很多时候我们要在protel99se中做拼板, 但是通常在复制进行拼版的时候会出现如下的效果,元件被重新命名了. 而无法达到我们需要的像下图的效果 那我们怎么办,才能达到上图的效果呢?其实操作很简单. ...