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