一种基于最小二乘法的一维条码码字解码方法技术

技术编号:15691413 阅读:266 留言:0更新日期:2017-06-24 04:36
一种基于最小二乘法的一维条码码字解码方法,具体步骤如下:根据实际扫描到的条空宽度计算出条码每个码字相似边缘距离包含的模块数ei,与标准边缘差异表中正确的码字包含的模块宽度数Ei比较是否相等并计算ei=Ei的个数N;g为码字相似边缘距离包含的模块数个数。当N<g‑2或N<=1时,则码字解码失败;当N>=g‑2且N>1时,则寻找待选可能码字Fi并利用最小二乘法从所有可能字符中选择误差Err最小的值为正确的码字,码字进行误码检查,通过误码检查则码字解码成功,未通过误码检查则码字解码失败;当N=g时,选定可能的字符,并进行是否为误码的相关计算。本发明专利技术能大大提高条码码字的解码成功率。

One dimension bar code decoding method based on least square method

A one-dimensional barcode code decoding method based on least square method, the specific steps are as follows: according to the actual space width scanning to calculate the barcode number EI each codeword module contains similar edge distance, compared with the correct codeword difference table contains the standard width of the module edge number Ei is equal to the number of calculated EI = Ei N; G code similar to the distance from the edge of module contains a number. When N< g; 2 or N< = 1, is a codeword decoding failure; when N> = g; 2 and N> 1, looking for possible candidate codeword Fi by using least squares method from all possible error Err the minimum value for the correct codeword character, codeword error check, through error check code is decoded successfully, not through the error check is a codeword decoding failure; when N = g, the selected possible characters, and whether the relevant calculation error. The invention can greatly improve the decoding success rate of the bar code words.

【技术实现步骤摘要】
一种基于最小二乘法的一维条码码字解码方法
本专利技术属于信息存储、定位和识别
,涉及一种基于最小二乘法的一维条码码字解码方法。
技术介绍
一个完整的一维条码由两侧静止区、起始符、数据符、校验符、终止符组成,其结构图如图1所示。它将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息。常用的条码扫描设备通常由光源(比如激光)、光学透镜、感光器件(例如CCD,CMOS等)、解码逻辑电路和I/O接口等组件构成。简单来讲,所述光源投射光至条码上,从条码处反射的光透过所述光学透镜进入感光器件表面,经过光电转换、模数转换等一系列处理后形成条码的数字图像,然后解码逻辑电路对摄取的图像进行分析和解码。现有的一维条码码字解码方法:1、对采集的条码图像进行预处理(去燥、灰度提取、二值化);2、定位出条码区域;3、沿条码方向布置采样线,得到条码条空边界,计算出条码每条每空的宽度,记为{a1,a2,a3…}4、根据扫描实测的条码条空字符宽度计算相似边缘距离,记为{b1,b2,b3…};5、将相似边缘距离(边缘差异)或条码字符条空宽度归一化为条码字符模块宽度的整数倍,字符条空模块数记为{c本文档来自技高网...
一种基于最小二乘法的一维条码码字解码方法

【技术保护点】
一种基于最小二乘法的一维条码码字解码方法,具体步骤如下:(1)计算出条码每个码字相似边缘距离包含的模块数。先扫描获取码字条空实际宽度为ai={a1,a2,a3,a4,a5,a6…},并计算得到该码字的相似边缘距离包含的模块数为ei={e1,e2,e3,e4,e5…},其中ei=ai+a(i+1);(2)查询实际边缘差异表中正确的码字包含的模块宽度数Ei={E1,E2,E3,E4,E5…},其中码字的标准条空模块数为Ci={C1,C2,C3,C4,C5,C6…},则Ei=Ci+C(i+1),并计算ei=Ei的个数N;(3)根据条码类型可确定该条码每个码字包含的条和空个数和为I,每个码字的相似边缘...

【技术特征摘要】
1.一种基于最小二乘法的一维条码码字解码方法,具体步骤如下:(1)计算出条码每个码字相似边缘距离包含的模块数。先扫描获取码字条空实际宽度为ai={a1,a2,a3,a4,a5,a6…},并计算得到该码字的相似边缘距离包含的模块数为ei={e1,e2,e3,e4,e5…},其中ei=ai+a(i+1);(2)查询实际边缘差异表中正确的码字包含的模块宽度数Ei={E1,E2,E3,E4,E5…},其中码字的标准条空模块数为Ci={C1,C2,C3,C4,C5,C6…},则Ei=Ci+C(i+1),并计算ei=Ei的个数N;(3)根据条码类型可确定该条码每个码字包含的条和空个数和为I,每个码字的相似边缘距离包含的模块数个数为g,g=I-1;当N<g-2或N<=1时,则码字解码失败;当N>=g-2且N>1时,则进入步骤(4);当N=g时,选定可能字符F,查F边缘差异表,进行是否为误码的相关计算,检查自校验值V是否满足要求:(V-1.75)*(p)<(a1+a3+a5+…)<(V+1.75)*(p)/Q;其中p=a1+a2+a3+a4+a5+…,a1+a3+a5+…是实际扫描到的码字所有条宽度和,V为字符F所有条包含标准模块数的个数之和,Q为一个码字具有的总模块个数;满足要求则字符码字解码成功,不满足要求则码字解码失败;(4)当每个不相等的算式ei≠Ei,不等式两边计算得到的边缘差异模块数与字符边缘差异表中标准模块数两者的误差不大于1,该字符选为可能字符,记录它的符号值以及对应的条空模块数,遍历边缘差异表,选出所有的可能字符Fi={Fi1,Fi2,Fi3,Fi4...

【专利技术属性】
技术研发人员:官慧仙
申请(专利权)人:杭州晟元数据安全技术股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1