条码识别算法
❶ 条码有几种级别,如何识别
A级条码能够被很好的识读,适合只沿一条线扫描并且只扫描一次的场合。
B 级条码在识读中的表现不如A级,适合于只沿一条线扫描但允许重复扫描的场合。
C级条码可能需要更多次的重复扫描,通常要使用能重复扫描并有多条扫描线的设备才能获得比较好的识读效果。
D级条码可能无法被某些设备识读,要获得好的识读效果,则要使用能重复扫描并具有多条扫描线的设备。F级条码是不合格品,不能使用。
通常用美标检测法 "A"-"F"五个质量等级,"A"级为最好,"D"级为最差,"F"级为不合格。
(1)条码识别算法扩展阅读
UPC(统一产品代码):
只能表示数字,有A、B、C、D、E五个版本 版本 A - 12 位数字 版本 E - 7 位数字 最后一位为校验位 大小是宽1.5" 高1 " ,而且背景要与清晰 主要使用于美国和加拿大地区,用于工业、医药、仓库等部门。
当UPC作为十二位进行解码时,定义如下:第一位 = 数字标识 (已经由UCC(统一代码委员会)所建立). 第2-6位 = 生产厂家的标识号(包括第一位) 第7-11 = 唯一的厂家产品代码 第12位 = 校验位(used for error detection)
Code 3:
能表示字母、数字和其它一些符号共43个字符:A -Z,0 - 9,-.$/+%,pace 条形码的长度是可变化的,通常用“*”号作为起始、终止符校验码不用代码密度介于3 - 9.4个字符/每英寸,空白区是窄条的10倍,用于工业、图书、以及票证自动化管理上。
Code 128:
表示高密度数据, 字符串可变长,符号内含校验码,有三种不同版本:A,B,and C 可用128个字符分别在 A,B,or C 三个字符串集合中,用于工业、仓库、零售批发。
Interleaved2-of-5 (I2 of 5):
只能表示数字0 -9 可变长度,连续性条形码,所有条与空都表示代码,第一个数字由条开始,第二个数字由空组成 空白区比窄条宽10倍,应用于商品批发、仓库、机场、生产/包装识别、工业中,条形码的识读率高,可适用于固定扫描器可靠扫描,在所有一维条形码中的密度最高。
❷ 国际条形码最后一位校验位是如何计算出来的
计算:
以条形码 6936983800013为例公式第13位算法:
1、取出该数的奇数位的和,c1=6+3+9+3+0+0=21;
2、取出该数的偶数位的和,c2=9+6+8+8+0+1=32;
3、将奇数位的和与“偶数位的和的三倍”相加。
4、取出结果的个位数:117(117%10=7);
5、用10减去这个个位数:10-7=3;
6、对得到的数再取个位数(对10去余)3%10=3;
此条形码分为4个部分,从左到右分别为:
1、第1-3位:共3位,对应该条码的693,是中国的国家代码之一。(690--695都是中国大陆的代码,由国际上分配)
2、第4-8位:共5位,对应该条码的69838,代表着生产厂商代码,由厂商申请,国家分配
3、第9-12位:共4位,对应该条码的0001,代表着厂内商品代码,由厂商自行确定
4、第13位:共1位,对应该条码的3,是校验码,依据一定的算法,由前面12位数字计算而得到。
(2)条码识别算法扩展阅读:
编码规则:
1、唯一性:同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。
2、永久性:产品代码一经分配,就不再更改,并且是终身的。当此种产品不再生产时,其对应的产品代码只能搁置起来,不得重复起用再分配给其它的商品。
无含义:为了保证代码有足够的容量以适应产品频繁的更新换代的需要,最好采用无含义的顺序码。
3、条形码校验码公式:首先,把条形码从右往左依次编序号为“1,2,3,4……”从序号二开始把所有偶数序号位上的数相加求和,用求出的和乘3,再从序号三开始把所有奇数序号上的数相加求和,用求出的和加上刚才偶数序号上的数,然后得出和。再用10减去这个和的个位数,就得出校验码。