[发明专利]一种基于最小二乘法的一维条码码字解码方法有效
| 申请号: | 201710021294.X | 申请日: | 2017-01-12 |
| 公开(公告)号: | CN106874820B | 公开(公告)日: | 2019-07-23 |
| 发明(设计)人: | 官慧仙 | 申请(专利权)人: | 杭州晟元数据安全技术股份有限公司 |
| 主分类号: | G06K7/14 | 分类号: | G06K7/14;G06K19/06 |
| 代理公司: | 杭州千克知识产权代理有限公司 33246 | 代理人: | 赵芳;张瑜 |
| 地址: | 311121 浙江省杭州市*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: |
一种基于最小二乘法的一维条码码字解码方法,具体步骤如下:根据实际扫描到的条空宽度计算出条码每个码字相似边缘距离包含的模块数ei,与标准边缘差异表中正确的码字包含的模块宽度数Ei比较是否相等并计算ei=Ei的个数N;g为码字相似边缘距离包含的模块数个数。当N |
||
| 搜索关键词: | 一种 基于 最小二乘法 条码 码字 解码 方法 | ||
【主权项】:
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,Fi5,Fi6…};(5)利用最小二乘法从所有可能字符中选择误差Err最小的值为正确的码字,包括:1)根据步骤(1)中扫描获取的码字条空实际宽度为ai={a1,a2,a3,a4, a5,a6…},计算得到实际单位模块的平均宽度M=(a1+a2+a3+a4+a5+a6+…)/Q;2)将可能字符的条空模块数Fi={Fi1,Fi2,Fi3,Fi4,Fi5,Fi6…}乘以实际单位模块的平均宽度M得到可能码字的条空宽度fi={fi1,fi2,fi3,fi4,fi5,fi6…},即f1=F1*M={F11*M,F12*M,F13*M,F14*M,F15*M,F16*M…}、f2=F2*M={F21*M,F22*M,F23*M,F24*M,F25*M,F26*M…}…3)计算可能码字的条空宽度值fi与实际扫描到的条空实际宽度值ai的误差Err1,Err2,Err3…
求Err1、Err2、Err3…最小值,其对应的可能码字的条空宽度值fi就是与扫描到的条空实际宽度最符合的码字字符F;(6)对步骤(5)得到的码字字符F进行误码检查,通过误码检查则码字解码成功,未通过误码检查则码字解码失败。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州晟元数据安全技术股份有限公司,未经杭州晟元数据安全技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710021294.X/,转载请声明来源钻瓜专利网。
- 上一篇:信息处理装置及其控制方法
- 下一篇:一种基于光标签的车载辅助数据传输方法





