專利名稱:二維直方圖數字圖像識別碼的制作方法
技術領域:
本發明涉及一種用于設備編號、建筑物編號、表計編號、材料編號管理的二維直方圖數字圖像識別碼及其編碼和解碼方法。
背景技術:
目前,國內外通過圖像方式讀取數字符號的技術眾多,較典型的有各種二維條碼,如PDF417等。這些條碼識別率高,字庫容量大,包容絕大多數漢字和英文。這些技術特點是①可從圖像中提取出漢字和英文信息;②非專業人員不能很快理解其編解碼方式,保密性高;③識別過程和編碼過程復雜;④容量大;⑤準確率高。缺點技術太過復雜,普通技術人員必須采用專用設備(如條碼讀碼器)才能解碼,如果用軟件解碼,則要求圖像質量很高。工業上,有些比較普通的應用,要求采用圖像識別技術進行編碼,這些應用要求的圖像編碼信息很簡單,僅僅包含0-9阿拉伯數字,但采集圖像質量較差,在現有條碼技術情況下無法正確讀出圖像中的信息。
提供了一種數據編碼/解碼方法和設備。編碼方法包括以下步驟用相同的預定位數表示有關數字數據,以及使用預定編碼方法自最高有效位序列至最低有效位序列將由相同位數表示的數字數據編碼。用于估價數字數據的位的有效性按照有效性順序將編碼的數字。數據解碼的方法包括以下步驟分析編碼數字數據的有效性以及使用預定解碼方法自較高有效位至較低有效位將分析的數字數據解碼。通過首先將重要信息編碼,即使丟失或損壞了一些位流,也能減少音頻質量的下降。
發明內容
本發明的目的在于提供一種編碼信息只包含0-9的阿拉伯數字和一些常用符號;在圖像質量較差情況下可準確讀出碼值;使非專業人員容易理解編解碼方式,便于快速構建識別用軟件的數字圖像識別碼。
本發明的技術方案是圖像識別碼的碼圖是在一種顏色的底板上設計有與底板顏色象素值差距明顯的10個不重復的直方圖單元圖塊,所述十個單元圖塊從左到右分別對應阿拉伯數字0-9,即數字0對應圖塊0,數字1對應圖塊1,數字2對應圖塊2,數字3對應圖塊3,數字4對應圖塊4,數字5對應圖塊5,數字6對應圖塊6,數字7對應圖塊7,數字8對應圖塊8,數字9對應圖塊9。
所述直方圖單元圖塊的特征如下單元圖塊0水平直方圖的左側有最大值;豎直直方圖的下側有最大值;單元圖塊1水平直方圖的右側有最大值;豎直直方圖的下側有最大值;單元圖塊2水平直方圖的左側有最大值;豎直直方圖的上側有最大值;單元圖塊3水平直方圖的右側有最大值;豎直直方圖的上側有最大值;單元圖塊4水平直方圖的中間有最大值;豎直直方圖的上側有最大值;單元圖塊5水平直方圖的中間有最大值;豎直直方圖的下側有最大值;單元圖塊6水平直方圖的左側有最大值;豎直直方圖的中間有最大值;單元圖塊7水平直方圖的右側有最大值;豎直直方圖的中間有最大值;單元圖塊8水平直方圖的左右側各有一最大值;豎直直方圖的左右側各有一最大值;單元圖塊9水平直方圖的中間有最大值;豎直直方圖的中間有最大值。
所述象素值差距明顯的顏色,可以為黑與白、紅與黃、蘭與白等。
使用時在計算機或識別設備內,裝上由圖像采集模塊、處理模塊、顯示模塊、數據存儲模塊組成的軟件。
圖像識別碼的編碼方法是對包含有N個阿拉伯數字的編號,用N+3個單元圖塊編碼,所述N為N個數字分別所對應的單元圖塊構成的基礎編碼,所述3為3個CRC校驗碼,并對編碼重復打印2-5次,以提高識別率。
所述CRC校驗碼是按照CRC校驗碼的通用算法計算得出的。
圖像識別碼的解碼方法包括以下步驟(1)識別工具取得圖像后,取一幅圖像,對圖像進行二值化;(2)通過塊聚類算法,圖像被分隔成單獨的一個個圖形塊,取出一個水平圖塊組備用;(3)從備用圖塊組中取一個圖塊,比對直方圖特征,如果與標準圖塊特征相符,則保存此圖塊的識別結果;如果不與任何標準圖塊相符,則看是否本組中還有要處理的圖塊,如果有,從備用圖塊組中取另一個圖塊比對,本組圖塊全部處理完,保存圖塊中符合特征的圖塊總個數N;(4)在識別結果中,取前N-3個作為基礎編碼,最后三個作為基礎CRC校驗碼;(5)根據找到的基礎編號計算CRC校驗碼;(6)比對基礎CRC校驗碼和計算CRC校驗碼如果基礎CRC碼和計算CRC碼一致,則讀碼成功;如果不一致,則看是否還有圖塊組可以使用,如果有,則重新取一組水平圖塊計算,否則重新取一幅圖像計算,直到基礎CRC碼和計算CRC碼一致,解碼過程結束。
本發明的碼圖相對于數字而言,經過統計分析后,在計算機上更容易識別,而且,每個單元圖塊經過同一個分析算法后,結果相對于別的單元圖塊都是唯一的。它的編碼信息只包含0-9的阿拉伯數字和一些常用符號;在圖像質量較差情況下也能準確讀出碼值;使非專業人員容易理解編解碼方式。
圖1為實施例1的碼圖;圖2為編碼方法示意圖;圖3為解碼工作流程圖。
具體實施例方式
實施例1參照圖1本實施例的碼圖共有十個單元圖塊,分別為十個不重復的黑白單元圖塊,十個單元圖塊從左到右分別對應阿拉伯數字0-9。數字0對應單元圖塊0,數字1對應單元圖塊1,數字2對應單元圖塊2,數字3對應單元圖塊3,數字4對應單元圖塊4,數字5對應單元圖塊5,數字6對應單元圖塊6,數字7對應單元圖塊7,數字8對應單元圖塊8,數字9對應單元圖塊9。
標準單元圖塊的直方圖特征如下單元圖塊0水平直方圖的左側有最大值;豎直直方圖的下側有最大值;單元圖塊1水平直方圖的右側有最大值;豎直直方圖的下側有最大值;單元圖塊2水平直方圖的左側有最大值;豎直直方圖的上側有最大值;單元圖塊3水平直方圖的右側有最大值;豎直直方圖的上側有最大值;單元圖塊4水平直方圖的中間有最大值;豎直直方圖的上側有最大值;單元圖塊5水平直方圖的中間有最大值;豎直直方圖的下側有最大值;單元圖塊6水平直方圖的左側有最大值;豎直直方圖的中間有最大值;單元圖塊7水平直方圖的右側有最大值;豎直直方圖的中間有最大值;單元圖塊8水平直方圖的左右側各有一最大值;豎直直方圖的左右側各有一最大值;單元圖塊9水平直方圖的中間有最大值;豎直直方圖的中間有最大值。
參照圖2編碼方法假設對編號420763進行編碼,每個數字采用一個單元圖塊表示,共六個單元圖塊,基礎編碼為單元圖塊4,單元圖塊2,單元圖塊0,單元圖塊7,單元圖塊6,單元圖塊3;按照通用算法進行CRC校驗碼計算,得到CRC校驗碼為109,再加入三個單元圖塊表示CRC校驗碼,即單元圖塊1,單元圖塊0和單元圖塊9。故表示編號420763的完整編碼共為九個單元圖塊。此組編碼共重復打印了四次,以便在一組編碼讀取有錯時,取其它的編碼組進行識別。
CRC校驗碼如表1所示表1unsigned char CRCTable[]=0,94,188,226,97,63,221,131,194,156,126,32,163,253,31,65,157,195,33,127,252,162,64,30,95,1,227,189,62,96,130,220,35,125,159,193,66,28,254,160,225,191,93,3,128,222,60,98,190,224,2,92,223,129,99,61,124,34,192,158,29,67,161,255,70,24,250,164,39,121,155,197,132,218,56,102,229,187,89,7,219,133,103,57,186,228,6,88,25,71,165,251,120,38,196,154,101,59,217,135,4,90,184,230,167,249,27,69,198,152,122,36,248,166,68,26,153,199,37,123,58,100,134,216,91,5,231,185,140,210,48,110,237,179,81,15,78,16,242,172,47,113,147,205,17,79,173,243,112,46,204,146,211,141,111,49,178,236,14,80,175,241,19,77,206,144,114,44,109,51,209,143,12,82,176,238,50,108,142,208,83,13,239,177,240,174,76,18,145,207,45,115,202,148,118,40,171,245,23,73,8,86,180,234,105,55,213,139,
87,9,235,181,54,104,138,212,149,203,41,119,244,170,72,22,233,1 83,85,11,136,214,52,106,43,117,151,201,74,20,246,168,116,42,200,150,21,75,169,247,182,232,10,84,215,137,107,53參照圖3圖像識別碼的解碼方法包括以下步驟(1)識別工具取得圖像后,取一幅圖像,對圖像進行二值化,得到黑白圖像;(2)通過塊聚類算法,圖像被分隔成單獨的一個個圖形塊,取出一個水平圖塊組備用;(3)從備用圖塊組中取一個圖塊,比對直方圖特征,如果與標準圖塊特征相符,則保存此圖塊的識別結果;如果不與任何標準圖塊相符,則看是否本組中還有要處理的圖塊,如果有,從備用圖塊組中取另一個圖塊比對,本組圖塊全部處理完,保存圖塊中符合特征的圖塊總個數N;(4)在識別結果中,取前N-3個作為基礎編碼,最后三個作為基礎CRC校驗碼;(5)根據找到的基礎編號計算CRC校驗碼;(6)比對基礎CRC校驗碼和計算CRC校驗碼如果基礎CRC碼和計算CRC碼一致,則讀碼成功;如果不一致,則看是否還有圖塊組可以使用,如果有,則重新取一組水平圖塊計算,否則重新取一幅圖像計算,直到基礎CRC碼和計算CRC碼一致,解碼過程結束。
權利要求
1.一種二維直方圖數字圖像識別碼,其特征在于圖像識別碼的碼圖是在一種顏色的底板上設計有與底板顏色象素值差距明顯的10個不重復的直方圖單元圖塊,所述十個單元圖塊從左到右分別對應阿拉伯數字0-9,即數字0對應圖塊0,數字1對應圖塊1,數字2對應圖塊2,數字3對應圖塊3,數字4對應圖塊4,數字5對應圖塊5,數字6對應圖塊6,數字7對應圖塊7,數字8對應圖塊8,數字9對應圖塊9。
2.根據權利要求1所述的二維直方圖數字圖像識別碼,其特征在于所述10個不重復直方圖單元圖塊的特征如下單元圖塊0水平直方圖的左側有最大值;豎直直方圖的下側有最大值;單元圖塊1水平直方圖的右側有最大值;豎直直方圖的下側有最大值;單元圖塊2水平直方圖的左側有最大值;豎直直方圖的上側有最大值;單元圖塊3水平直方圖的右側有最大值;豎直直方圖的上側有最大值;單元圖塊4水平直方圖的中間有最大值;豎直直方圖的上側有最大值;單元圖塊5水平直方圖的中間有最大值;豎直直方圖的下側有最大值;單元圖塊6水平直方圖的左側有最大值;豎直直方圖的中間有最大值;單元圖塊7水平直方圖的右側有最大值;豎直直方圖的中間有最大值;單元圖塊8水平直方圖的左右側各有一最大值;豎直直方圖的左右側各有一最大值;單元圖塊9水平直方圖的中間有最大值;豎直直方圖的中間有最大值。
3.根據權利要求1所述的二維直方圖數字圖像識別碼的編碼方法,其特征在于,對包含有N個阿拉伯數字的編號,用N+3個單元圖塊編碼,所述N為N個數字分別所對應的單元圖塊構成的基礎編碼,所述3為3個CRC校驗碼,并對編碼重復打印2-5次,以提高識別率。
4.根據權利要求1所述的二維直方圖數字圖像識別碼的解碼方法,其特征在于,包括以下步驟(1)識別工具取得圖像后,取一幅圖像,對圖像進行二值化;(2)通過塊聚類算法,圖像被分隔成單獨的一個個圖形塊,取出一個水平圖塊組備用;(3)從備用圖塊組中取一個圖塊,比對直方圖特征,如果與標準圖塊特征相符,則保存此圖塊的識別結果;如果不與任何標準圖塊相符,則看是否本組中還有要處理的圖塊,如果有,從備用圖塊組中取另一個圖塊比對,本組圖塊全部處理完,保存圖塊中符合特征的圖塊總個數N;(4)在識別結果中,取前N-3個作為基礎編碼,最后三個作為基礎CRC校驗碼;(5)根據找到的基礎編號計算CRC校驗碼;(6)比對基礎CRC校驗碼和計算CRC校驗碼如果基礎CRC校驗碼和計算CRC校驗碼一致,則讀碼成功;如果不一致,則看是否還有圖塊組可以使用,如果有,則重新取一組水平圖塊計算,否則重新取一幅圖像計算,直到基礎CRC校驗碼和計算CRC校驗碼一致,解碼過程結束。
全文摘要
本發明公開了一種二維直方圖數字圖像識別碼。其碼圖是在一種顏色的底板上設計有與底板顏色象素值差距明顯的10個不重復的直方圖單元圖塊,所述十個單元圖塊從左到右分別對應阿拉伯數字0-9。其編碼方法是對包含有N個阿拉伯數字的編號,用N+3個單元圖塊編碼,所述N為N個數字分別所對應的單元圖塊構成的基礎編碼,所述3為3個CRC校驗碼,并對編碼重復打印2-5次,以提高識別率。本發明的碼圖相對于數字而言,經過統計分析后,在計算機上更容易識別,而且,每個單元圖塊經過同一個分析算法后,結果相對于別的單元圖塊都是唯一的。它的編碼信息只包含0-9的阿拉伯數字和一些常用符號;在圖像質量較差情況下也能準確讀出碼值;使非專業人員容易理解編解碼方式。
文檔編號G06K7/00GK101025785SQ20071003463
公開日2007年8月29日 申請日期2007年3月28日 優先權日2007年3月28日
發明者楊德明 申請人:楊德明