原淵
摘要:文章簡(jiǎn)單梳理在線監(jiān)測(cè)及編碼,分析應(yīng)對(duì)畸變條碼的定位識(shí)別方式,分別從系統(tǒng)設(shè)計(jì)與識(shí)別性能分析入手,并探析二值化算法對(duì)不同條碼圖像的識(shí)別,主要敘述亮度突變以及漸變、光照不均三種情況。
關(guān)鍵詞:在線識(shí)別;定位;二值化;編碼
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)20-0115-02
1 緒論
在大數(shù)據(jù)背景下,數(shù)據(jù)信息規(guī)模成倍擴(kuò)大,保存數(shù)據(jù)媒介中,條碼是不能忽視的一類,其能保存極多的數(shù)據(jù),且解碼效率高,有基本的可靠性。近幾年,科技高速完善,各市場(chǎng)主體也轉(zhuǎn)變管理方向,依托人工錄入及分類形式存在主觀因素,且儲(chǔ)存成本偏多等問(wèn)題,無(wú)法適應(yīng)在線識(shí)別的需要。所以提高采集速度及質(zhì)量、識(shí)別準(zhǔn)確度等,依然是需要考量的研究任務(wù)。
2 在線檢測(cè)及編碼
現(xiàn)如今,保存數(shù)據(jù)信息的載體接多元化,條碼是其中使用頻率及儲(chǔ)存效果較好的一種,利用對(duì)條碼的在線識(shí)別,獲取其中儲(chǔ)存的資料,完成對(duì)其的類型劃分、數(shù)據(jù)保存和歷史數(shù)據(jù)追溯等多項(xiàng)處理手段。目前,在對(duì)其的識(shí)別算法中,已然將識(shí)別時(shí)長(zhǎng)降至[50ms]之下,實(shí)現(xiàn)在線完成一系列的數(shù)據(jù)處理環(huán)節(jié)。條碼會(huì)在傳送帶上實(shí)現(xiàn)快速移動(dòng),通過(guò)系統(tǒng)內(nèi)的相機(jī)完成數(shù)據(jù)提取,把得到的信息結(jié)果直接保存在云端。而后系統(tǒng)會(huì)把采集到的條碼數(shù)據(jù)和背景數(shù)據(jù)進(jìn)行對(duì)比,由此完成整個(gè)分類過(guò)程。條碼背景具備復(fù)雜性、動(dòng)態(tài)化以及噪聲多等特征,借助高速的[CCD]相機(jī),能清楚采集到條碼快速變動(dòng)期間的圖像數(shù)據(jù)。條碼的圖形可分成功能及編碼兩個(gè)模塊,外觀上形成正方形的陣列,其包含編碼部分、分隔符及校正圖形等數(shù)個(gè)分區(qū)。在編碼期間,基于識(shí)別效率固定不斷,借助糾錯(cuò)模塊實(shí)現(xiàn)數(shù)據(jù)糾正,確保精確識(shí)別條碼的數(shù)據(jù)。例如,[QR]二維碼,在伽羅華域內(nèi)均能采取到[α],由此表示出非零元素。借助[GF]輸出條碼對(duì)應(yīng)的糾錯(cuò)碼,運(yùn)用其內(nèi)的元素構(gòu)建出循環(huán)隊(duì)列[1]。
在編碼期間,編碼模塊會(huì)先明確對(duì)應(yīng)的字符類型,繼而選用版本數(shù)據(jù)與糾錯(cuò)級(jí)別,綜合運(yùn)用既定規(guī)則,把信息字符轉(zhuǎn)變成位流,熱后把其調(diào)整成碼字,把糾錯(cuò)碼字填入數(shù)據(jù)碼字,基于特定規(guī)則,在條碼的結(jié)構(gòu)圖形中,識(shí)別分隔符及校正圖形等處理環(huán)節(jié),根據(jù)設(shè)定規(guī)則進(jìn)行數(shù)據(jù)排列,而后放置在條碼的矩陣中。使用多個(gè)掩模圖形,按照次序開(kāi)展掩模識(shí)別,主要針對(duì)編碼中的位圖,而后形成版本數(shù)據(jù)與格式數(shù)據(jù),二者共同組成條碼的符號(hào)區(qū)域。在識(shí)別條碼期間,充分發(fā)揮[CCD]相機(jī)優(yōu)勢(shì),使數(shù)據(jù)采集識(shí)別速度至少達(dá)到每秒三十幀的效率。在相機(jī)完整提取到條碼數(shù)據(jù)后,會(huì)直接進(jìn)行識(shí)別同時(shí)給出碼值。整個(gè)運(yùn)轉(zhuǎn)過(guò)程分成兩個(gè)環(huán)節(jié),一方面,識(shí)別格式數(shù)據(jù)中,先辨別條碼的編碼版本,而后去除其上面的掩模圖形,繼而得到信息以及糾錯(cuò)碼字。另一方面,進(jìn)一步辨別碼字有無(wú)錯(cuò)誤,如果沒(méi)有錯(cuò)誤信息,便能進(jìn)入譯碼環(huán)節(jié),而后生成并儲(chǔ)存信息。但如果碼字存在錯(cuò)誤,需先經(jīng)過(guò)糾正計(jì)算后,再開(kāi)展后續(xù)的譯碼等處理。
3復(fù)雜畸變條碼定位識(shí)別
3.1 識(shí)別系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
識(shí)別系統(tǒng)運(yùn)用模塊化的設(shè)計(jì)方式,其中包括圖像取讀及定位、校正、顯示等部分。先把條碼圖像采集到系統(tǒng)內(nèi),而后根據(jù)圖像的結(jié)構(gòu)特點(diǎn)對(duì)其加以定位,但若未無(wú)法完成定位,識(shí)別程序會(huì)直接結(jié)束,同時(shí)顯示定位失敗,反之,會(huì)顯示準(zhǔn)確的位置數(shù)據(jù)。而后進(jìn)入校正單元,把采集到的數(shù)據(jù)糾正,失敗則會(huì)給出相應(yīng)的提示,若完成校正,會(huì)來(lái)到數(shù)據(jù)識(shí)別單元,在此處理環(huán)節(jié)中,若未能識(shí)別,會(huì)顯示失敗提醒,若識(shí)別出來(lái),會(huì)直接輸出圖像數(shù)據(jù),把該系統(tǒng)植入到[Linux]系統(tǒng)中[2]。上述為條碼識(shí)別的總體流程,下面針對(duì)每個(gè)模塊進(jìn)行詳細(xì)闡述。
其一,取讀圖像。此模塊的工作任務(wù)是采集條碼圖像信息。一般數(shù)據(jù)格式包括[GIF、BMP]等,其中的位圖圖像,保存信息未通過(guò)壓縮運(yùn)算,所以相同圖像,在保存時(shí)需要占用相對(duì)更多的空間,但其也有優(yōu)勢(shì),在處理信息圖像期間,不必經(jīng)過(guò)解碼的過(guò)程,因此此種格式在此功能模塊中的使用較多。在圖像取讀模塊后需保存于信息結(jié)構(gòu)體中,其內(nèi)部需有關(guān)于圖像信息的寬高以及位深、色彩等,為其余各模塊提供處理數(shù)據(jù)。
其二,定位模塊。該部分的功能任務(wù)是把完整讀取的圖像,識(shí)別出對(duì)應(yīng)的位置信息。整個(gè)過(guò)程需預(yù)處理圖像數(shù)據(jù),提取出其中矩形塊,同時(shí)聚類,完成起始符和結(jié)束符準(zhǔn)確對(duì)應(yīng),繼而保證定位識(shí)別的準(zhǔn)確性。預(yù)處理步驟中涉及降噪與補(bǔ)償光線等,而聚類則需經(jīng)過(guò)邊緣檢測(cè)與矩形塊提取等過(guò)程。符號(hào)對(duì)應(yīng)識(shí)別是針對(duì)符號(hào)實(shí)施檢測(cè)。在完成定位后,條碼的位置數(shù)據(jù)共有圖像的各個(gè)頂角以及圖像中間其他部分的邊緣直線數(shù)據(jù)。
其三,校正模塊。其負(fù)責(zé)把出現(xiàn)畸形的圖像糾正到正常狀態(tài)。需前確定各頂角的具體類畸變類型,如果是線性及畸變,校正方式為透視變化以及雙線性差值。但若是水平方向的[U]狀非線性的情況,會(huì)選用常規(guī)的手段進(jìn)行處理,而后以水平方向進(jìn)行分塊,針對(duì)各塊實(shí)施校正,整合成正確的條碼。若是縱向的[U]狀畸變,需通過(guò)縱向分塊,同樣是逐個(gè)校正,合并起來(lái)組成條碼。
其四,識(shí)別單元。在定位識(shí)別系統(tǒng)中,此模塊是極為關(guān)鍵的部分,通過(guò)進(jìn)一步劃分,能分出行列切分與譯碼兩個(gè)部分。前者可識(shí)別出條碼各邊界節(jié)點(diǎn),把整個(gè)圖像歸納到為獨(dú)立碼字。該部分落入經(jīng)過(guò)校正的條碼數(shù)據(jù),輸出內(nèi)容則為碼字。在行切分中,需識(shí)別條碼的水平邊緣,之后實(shí)行水平投影,確定峰值,借助等距檢測(cè)確定條碼圖像的行邊緣點(diǎn)。在列切分中,則需檢測(cè)縱向的邊緣數(shù)據(jù),通過(guò)二值化算法,繼續(xù)完成縱向投影,確定峰值后,通過(guò)等距檢測(cè)得出列邊界。后者的工作是把錄入的符號(hào)進(jìn)行解碼,輸出顯示出數(shù)據(jù)。需先采集每個(gè)碼字對(duì)應(yīng)的條空比序列,部分碼字若清晰度不高或存在污損的情況,無(wú)法有效提取條空比序列。為此需搜查碼字表,把涉及的符號(hào)進(jìn)行解譯,經(jīng)過(guò)糾錯(cuò),若過(guò)程順利會(huì)直接實(shí)施解碼,否則譯碼失敗。
其五,數(shù)據(jù)顯示單元。其屬于輔助性的模塊,把經(jīng)過(guò)識(shí)別解碼處理后數(shù)據(jù)顯示出來(lái)。經(jīng)過(guò)解碼后,直接輸出圖像的條數(shù)與具體的圖像數(shù)據(jù),并為各區(qū)域進(jìn)行標(biāo)號(hào),使其和解碼數(shù)據(jù)中的編號(hào)匹配。如果其中任何一個(gè)環(huán)節(jié)失敗,會(huì)給出相應(yīng)的提醒顯示。