• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于最小二乘法的一維條碼碼字解碼方法技術

    技術編號:15691413 閱讀:261 留言: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、將相似邊緣距離(邊緣差異)或條碼字符條空寬度歸一化為條碼字符模塊寬度的整數倍,字符條空模塊數記為{c1,c2,c3…},相似邊緣距離模塊數記為{e1,e2,e3…};6、根據第5步計算的條空的模塊數查各條碼編碼字符集或者根據相似邊緣距離模塊數查各條碼邊緣差異表,得到條碼起始符,數據字符值,結束符以及有校驗時校驗符,解碼結束。現有方法的第6步從編碼字符集或者條碼邊緣差異表中找出相對應的字符碼字,一個碼字由多個黑白條空組成,以code128碼符號字符值16(字符集A中為字符“0”)為例,它的條空模塊數{C1,C2,C3,C4,C5,C6}為{1,2,3,1,2,2},相似邊緣距離{E1,E2,E3,E4}為{3,5,4,3,6}這就要求掃描計算出的條空寬度模塊數c1、c2、c3、c4、c5、c6分別等于1、2、3、1、2、2,或者計算出的邊緣差異值e1、e2、e3、e4為3、5、4、3,符號字符值16的碼字才能解碼成功。但實際情況中當圖像質量差的時候,噪聲干擾、明暗不均、條空邊界模糊、對比度小等原因使二值化計算出的條空寬度模塊數誤差變大,并不是每個碼字的條空寬度模塊數或者每個邊緣差異值都正確,這種情況現有的方法會造成解碼失敗。
    技術實現思路
    本專利技術提供了一種能大大提高條碼碼字的解碼成功率的基于最小二乘法的一維條碼碼字解碼方法。本專利技術采用的技術方案是:一種基于最小二乘法的一維條碼碼字解碼方法,具體步驟如下:(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進行誤碼檢查,通過誤碼檢查則碼字解碼成功,未通過誤碼檢查則碼字解碼失敗。進一步,步驟(6)的誤碼檢查包括:1)檢查自校驗值V是否滿足要求;2)根據實際情況選定一個域值θ,誤差Err<θ是認為碼字解碼成功,否則認為碼字存在誤碼,解碼失敗。本專利技術的有益效果:能大大提高條碼碼字的解碼成功率。附圖說明圖1是條碼的結構示意圖。圖2是本專利技術的流程示意圖。具體實施方式下面結合具體實施例來對本專利技術進行進一步說明,但并不將本專利技術局限于這些具體實施方式。本領域技術人員應該認識到,本專利技術涵蓋了權利要求書范圍內所可能包括的所有備選方案、改進方案和等效方案。參照圖2,本實施例以code128碼為例,包括3個條和3個空,一個碼字包含11個模塊,一種基于最小二乘法的一維條碼碼字解碼方法,具體步驟如下:(1)計算出條碼每個碼字相似邊緣距離包含的模塊數ei(邊緣差異值),先掃描獲取碼字條空實際寬度為ai={a1,a2,a3,a4,a5,a6},并計算得到該碼字的相似邊緣距離包含的模塊數為ei={e1,e2,e3,e4,e5},其中ei=ai+a(i+1),即e1=a1+a2、e2=a2+a3、e3=a3+a4、e4=a4+a5、e5=a5+a6;(2)查詢實際邊緣差異表中正確的碼字包含的模塊寬度數為Ei={E1,E2,E3,E4,E5},其中碼字的條空模塊數為Ci={C1,C2,C3,C4,C5,C6},則Ei=Ci+C(i+1),即E1=C1+C2、E2=C2+C3、E3=C3+C4、E4=C4+C5、E5=C5+C6,并計算ei=Ei的個數N;(3)當N<3時,則碼字解碼失敗;當N>=3時,則進入步驟(4);當N=5時,選定可能字符F,查F邊緣差異表,進行是否為誤碼的相關計算,檢查自校驗值V是否滿足要求:(V-1.75)*(p)<(a1+a3+a5)<(V+1.75)*(p)/11;其中p=a1+a本文檔來自技高網
    ...
    一種基于最小二乘法的一維條碼碼字解碼方法

    【技術保護點】
    一種基于最小二乘法的一維條碼碼字解碼方法,具體步驟如下:(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…...

    【技術特征摘要】
    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
    主站蜘蛛池模板: 麻豆人妻少妇精品无码专区| 色综合热无码热国产| 成人无码区免费A∨直播| 色综合热无码热国产| 一本大道无码日韩精品影视| 亚洲午夜国产精品无码| 亚洲av无码一区二区三区四区 | AV无码小缝喷白浆在线观看| 亚洲AV综合色区无码另类小说| 亚洲AV无码一区二区乱子仑| 国产办公室秘书无码精品99| 白嫩无码人妻丰满熟妇啪啪区百度| 国产午夜精品无码| 用舌头去添高潮无码视频| 亚洲AV永久无码精品一福利| 亚洲国产精品无码AAA片| 无码毛片一区二区三区视频免费播放 | 国产精品无码一本二本三本色| 亚洲国产精品无码久久久秋霞2| 成人无码Av片在线观看| 91久久精品无码一区二区毛片| 国产a v无码专区亚洲av| 精品久久久无码人妻中文字幕豆芽| 久久精品无码一区二区三区日韩 | 永久免费无码网站在线观看| 亚洲国产精品无码一线岛国| 中文字幕精品无码一区二区 | 亚洲综合最新无码专区| 亚洲国产精品无码观看久久| 久久亚洲AV无码精品色午夜麻豆 | 久久国产精品无码一区二区三区 | 无码 免费 国产在线观看91| 在线看片无码永久免费视频| 色欲狠狠躁天天躁无码中文字幕| 亚洲精品无码MV在线观看| 在线a亚洲v天堂网2019无码| 一本一道中文字幕无码东京热| 高清无码一区二区在线观看吞精| 国产成人年无码AV片在线观看 | 国产乱子伦精品无码码专区| 国产成人无码区免费网站|