是最近学习的内容之一,整理起来,照片都是网络照片。 提到的条形码主要是EAN-13代码。
另一方面,概念条形码由不同宽度、不同反射率的条(黑)和空(白)组成。 根据特定编码规则创建的用于表示数字、字母信息的图形标识符。
工业用二十五码
EAN-13码
为什么用黑色、白色来表示条形码?
因为两种颜色有完全不同的反射率,所以已知黑色吸收光的所有颜色,白色反射光的所有颜色。 当然,也可以用其他两种颜色表示条形码。 如果2种颜色有不同的反射率,就能得到充分的对比度。
二、EAN-13码EAN-13码是EAN码的一种,由13个字符表示信息,是我国主要采用的编码标准。 EAN-13代码包含商品的名称、型号、制造商、所有国家的地区等信息。
EAN代码是模块组合型代码。
模块:构成条形码的基本宽度单位。 说白了,条形码中每0.33宽表示一个模块。 一个模块的宽条(黑色的条形码部分)表示二进制“1”,两个模块的宽条(黑色的)表示二进制“11”,一个模块的空白宽条(白色的条形码部分)表示二进制“0”
这样就可以用二进制的0、1表示信息。 在EAN码中,每个字符(例如,数字1 )由两个条(黑)和两个空(白)组成,条和空分别由1~4个相同宽度、相同颜色的模块组成。 每个字符总共有七个模块(宽度),规定每个字符从外观上包括两个条和两个空白。 所以EAN码也叫(7,2 )码。
一个字符:c1表示条的宽度(模块),c2(空),c3(条),c4(空) (c1+c2+c3+c4=7)
EAN-13码的格式如图:
以上节EAN-13码例图来说明
501 (生产代码)、2345 (制造商代码)、67890商品标识代码、0 )校验码)。
注意:如果EAN-13代码由图形标识符表示,则第一位(例如上图中的数字) (5) )是隐式表示的,不是条和空的,而是由第二位到第七位(如后所述)的奇偶校验表示的。
现在,第一位是隐式的,表示13-1=12个字符,只需将12个字符分为一半、左侧6个字符、右侧6个字符即可。
左边的文字有偶奇性,右边的文字都是偶奇。 左侧的奇偶校验取决于隐式表示的第一个字符(前缀,即EAN-13代码格式的F1 )。 具体的奇偶校验如图所示,e表示偶数位,o表示奇数位,如前缀0所示,左侧的6个字符都是奇数位。
那么奇、偶数位有什么用呢?
同一字符在偶数位和奇数位的二进制表示不同。 图:
校验码有什么用?
EAN-13代码的最后一个字符是校验码,用于保证条形码识别的准确性。
EAN-13代码检测算法如下。
)1)从右到左,按顺序排列13个字符。
)将2、4、6、8、10、12等偶数位的数据相加,将结果乘以3得到p。
)将3、5、7、9、11、13等奇数位数据相加,等待n。
)4) N P得m
)5) m除以10,取其馀数。 余数求以10为模的补数c。
)6)若c和校验码值相等,则正确译码。
EAN-13代码识别原理
如图所示,表示条形码的一个字符。
C1、C2、C3、C4代表字符中4个相邻条(黑)或空)的宽度,t是一个字符的宽度。 C1 C2 C3 C4=7(块) ) )
用n表示一个模块的宽度,n=T/7。
mi=Ci/n,I=1、2、3、4时得到代码。
如果m1=1、m2=3、m3=1、m4=2并且条形码排列比特条——为空的——个——为空,则当前字符二进制码为1,000100,并且右侧的偶数编号为“7”。
该方法是最基本的识别方法,在条纹间隔小的情况下,或印刷质量差的情况下,能够容易地识别错误。
条形码的识别方法还有很多。 网上有很多资料。 感兴趣的朋友可以自己学习。
相关系列halcon小例子: ORC识别Halcon MFC条形码识别