一種基于圖像熵的集裝箱箱號自適應(yīng)定位方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種圖像處理技術(shù),具體涉及一種運用圖像熵自適應(yīng)定位多種集裝箱 箱號圖像方法,適用于集裝箱箱號智能識別系統(tǒng)的箱號定位與提取。
【背景技術(shù)】
[0002] 集裝箱是國際物流的主要運輸設(shè)備。目前,我國許多集裝箱碼頭的堆場管理和裝 卸管理均已實現(xiàn)計算機(jī)化,而集裝箱碼頭管理處的集裝箱文字標(biāo)簽的識別基本靠人眼識 另IJ、手工記錄的工作方式,勞動強(qiáng)度大,工作效率低。因此實現(xiàn)集裝箱箱號智能識別是十分 必要的。集裝箱箱號智能識別系統(tǒng)一般包括圖像采集、箱號圖像預(yù)處理、箱號區(qū)域定位、箱 號字符分割、箱號字符識別等幾個主要部分,各個部分是緊密相連的。集裝箱圖像的箱號區(qū) 域定位是研究集裝箱箱號字符分割和識別的基礎(chǔ)和關(guān)鍵。
[0003] 基于數(shù)學(xué)形態(tài)學(xué)的集裝箱箱號快速定位算法(王炎,賀俊吉.基于數(shù)學(xué)形態(tài)學(xué)的集 裝箱箱號快速定位算法.計算機(jī)工程與設(shè)計,2015,36(8): 2162-2166),該算法主要定位一 行箱號區(qū)域不能較好地滿足集裝箱箱號智能識別系統(tǒng)的需求,因為集裝箱箱號的排列方式 種類較多,可橫向、縱向,橫向排列可分為1行、2行、3行甚至4行。縱向排列一般為1列。
[0004] 因此,本領(lǐng)域希望有一種能夠快速、準(zhǔn)確和自適應(yīng)地定位多種集裝箱箱號區(qū)域方 法。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明針對多種集裝箱箱號圖像自適應(yīng)定位問題,提供一種基于圖像熵的集裝箱 箱號自適應(yīng)定位方法。該方法能夠準(zhǔn)確、快速、自適應(yīng)地定位一行、一列、多行、白色和黑色 集裝箱箱號圖像,便于集裝箱箱號智能識別系統(tǒng)的箱號字符分割與識別。
[0006] 為了達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:
[0007] -種基于圖像熵的集裝箱箱號自適應(yīng)定位方法,該方法的步驟如下:
[0008] 步驟(一)灰度變換。通過灰度變換將集裝箱彩色圖像轉(zhuǎn)換為灰度圖像;
[0009] 步驟(二)維納濾波。通過維納濾波將灰度圖像轉(zhuǎn)換為濾波圖像;
[0010]步驟(三)背景消除。通過背景消除將濾波圖像轉(zhuǎn)換為背景消除圖像;
[0011] 步驟(四)二值化。通過二值化將背景消除圖像轉(zhuǎn)換為二值圖像;
[0012] 步驟(五)箱號顏色判別。通過二值圖像判別箱號的顏色是黑色或白色,若箱號顏 色是黑色則反色;
[0013] 步驟(六)投影法初定位與初提取。運用投影法對二值圖像進(jìn)行初定位并從原集裝 箱圖像中初提取箱號區(qū)域;
[0014] 步驟(七)圖像熵判別。根據(jù)初提取的箱號區(qū)域圖像熵判別該箱號是一行、一列或 者多行。若箱號是一行或一列則箱號定位成功并提取箱號區(qū)域圖像,若箱號是多行則進(jìn)行 再定位與再提取;
[0015] 步驟(八)形態(tài)學(xué)方法再定位與再提取。運用形態(tài)學(xué)方法對多行箱號的二值圖像進(jìn) 行腐蝕、開運算和膨脹,將多行箱號圖像分割為多個連通區(qū)域,根據(jù)多行箱號區(qū)域的面積變 化范圍和形狀特征,去除非箱號區(qū)域,將箱號區(qū)域從原集裝箱圖像中進(jìn)行定位與提??;
【附圖說明】
[0016] 以下結(jié)合附圖和【具體實施方式】來進(jìn)一步說明本發(fā)明。
[0017] 圖1為集裝箱箱號的自適應(yīng)定位與提取流程圖。
【具體實施方式】
[0018] 為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié) 合具體圖示,進(jìn)一步闡述本發(fā)明。
[0019] 本發(fā)明針對多種集裝箱箱號圖像自適應(yīng)定位問題,提供一種基于圖像熵的集裝箱 箱號自適應(yīng)定位方法,圖1為集裝箱箱號的自適應(yīng)定位與提取流程圖。該方法能夠準(zhǔn)確、快 速、自適應(yīng)地定位一行、一列、多行、白色和黑色集裝箱箱號圖像,便于集裝箱箱號智能識別 系統(tǒng)的箱號字符分割與識別。該方法的步驟如下:
[0020] 步驟(一)灰度變換。通過灰度變換將集裝箱彩色圖像轉(zhuǎn)換為灰度圖像;
[0021] 步驟(二)維納濾波。通過維納濾波將灰度圖像轉(zhuǎn)換為濾波圖像;
[0022]步驟(三)背景消除。通過背景消除將濾波圖像轉(zhuǎn)換為背景消除圖像;
[0023] 步驟(四)二值化。通過二值化將背景消除圖像轉(zhuǎn)換為二值圖像;
[0024] 步驟(五)箱號顏色判別。通過二值圖像判別箱號的顏色是黑色或白色,若箱號顏 色是黑色則反色;
[0025] 步驟(六)投影法初定位與初提取。運用投影法對二值圖像進(jìn)行初定位并從原集裝 箱圖像中初提取箱號區(qū)域;
[0026] 步驟(七)圖像熵判別。根據(jù)初提取的箱號區(qū)域圖像熵判別該箱號是一行、一列或 者多行。若箱號是一行或一列則箱號定位成功并提取箱號區(qū)域圖像,若箱號是多行則進(jìn)行 再定位與再提??;
[0027] 步驟(八)形態(tài)學(xué)方法再定位與再提取。運用形態(tài)學(xué)方法對多行箱號的二值圖像進(jìn) 行腐蝕、開運算和膨脹,將多行箱號圖像分割為多個連通區(qū)域,根據(jù)多行箱號區(qū)域的面積變 化范圍和形狀特征,去除非箱號區(qū)域,將箱號區(qū)域從原集裝箱圖像中進(jìn)行定位與提?。?[0028]基于上述原理,本發(fā)明的具體實施過程如下:
[0029] 步驟(一)灰度變換?;叶茸儞Q的原因是由于集裝箱圖像的采集是通過數(shù)碼相機(jī)得 到的。在預(yù)處理之前的圖像全是彩色圖像,而彩色圖像包含的信息量很大,這樣需要更大的 存儲空間,因此圖像處理的速度也會隨之變慢。因此對圖像進(jìn)行灰度變換可以使圖像只包 含亮度信息,不包含彩色信息。灰度變換的目的是為了提高圖像的處理速度,使圖像在處理 中更加方便計算。
[0030] 步驟(二)維納濾波。對圖像濾波的原因是在對集裝箱圖像進(jìn)行處理的時候,會遇 到噪聲帶來的影響。噪聲對圖像的信息是一種損害。所以對采集到的集裝箱圖像進(jìn)行濾波 十分必要。維納濾波器在假設(shè)噪聲是高斯以及加性的。而且信號與噪聲相互帶來的基礎(chǔ)上 得到最小均方差意義下的最優(yōu)濾波,維納濾波的目的是為了將細(xì)小的噪聲去除。
[0031] 步驟(三)背景消除。這樣處理的原因是由于拍攝的圖像常會有光照不均的情況, 加之集裝箱箱體受到沙塵污染,涂刷在上面的字符也會受到影響,從而降低了對比度。由于 本發(fā)明的一個實施例中拍攝的集裝箱圖像中相機(jī)與集裝箱的距離為3至4m,因此本發(fā)明中 的一個實施例中集裝箱背景消除的方法為:①選擇大小為6*6的正方形結(jié)構(gòu)元素對圖像進(jìn) 行開運算得到背景圖;②用原圖像減去背景圖即得到背景消除后圖像。
[0032]步驟(四)二值化。本發(fā)明使用Otsu法對圖像進(jìn)行二值化。這樣處理的原因是因為 天氣、拍攝時的角度和箱體上的油污等因素會對采集的集裝箱圖像造成影響,導(dǎo)致采集到 的很多集裝箱圖像的質(zhì)量比較低。有的圖像中會存在嚴(yán)重的光照不均、對比度較低和不明 顯的字符邊緣。Otsu法相較與傳統(tǒng)方法更能滿足本發(fā)明對二值圖像的要求。
[0033] 步驟(五)箱號顏色判別。通過統(tǒng)計二值圖像0和1的個數(shù)對集裝箱箱號顏色進(jìn)行判 另IJ。如果1的個數(shù)小于〇的個數(shù)則該集裝箱箱號是白色,否則該集裝箱箱號是黑色并進(jìn)行反 色,將黑色箱號轉(zhuǎn)換為白色箱號以便箱號定位。
[0034] 步驟(六)投影法初定位與初提取。在待定位圖像中,部分干擾區(qū)域已經(jīng)得以消除 且箱號字符區(qū)域更加突出、明顯,由于箱號區(qū)域的字符與字符之間存在間隙,當(dāng)從左向右掃 描箱號區(qū)域所在的行時,像素黑白跳變比較頻繁。本發(fā)明根據(jù)這種灰度分布特性來定位箱 號區(qū)域位置,具體詳細(xì)算法如下:(一列箱號定位算法與一行箱號定位算法類似不再贅述)
[0035] 步驟61、從箱號圖像的第一行開始從左向右掃描圖像,然后統(tǒng)計該行像素從0到 255或255到0的跳變次數(shù)count(即黑白像素跳變總次數(shù))。如果某一行的黑白像素跳變次數(shù) 滿足j umpM i η < c 〇 un t < j umpMa X (j umpM i η、j umpMax)分別表示箱號區(qū)域跳變次數(shù)的最小閾 值和最大閾值),則認(rèn)為該行可能是箱號區(qū)域的起始行,然后記錄下該行的位置(記為 Rowup);否則,就繼續(xù)搜索掃描下一行,直到搜索到第一次滿足jumpMin<count< jumpMax的 起始行Rowup。
[0036] 步驟62、按照上述方法,從箱號圖像的第(R〇Wup+l)行開始繼續(xù)向下搜索,直到遇到 第一次黑白像素跳變次數(shù)小于最小閾值jumpMin或大于最大閾值jumpMax的行,此時認(rèn)為該 行為箱號區(qū)域的結(jié)束行,然后記錄下該行的位置R〇wd_。
[0037] 步驟63、根據(jù)步驟61和步驟62記錄的箱號區(qū)域起始行位置Rowup和結(jié)束行位置 Rowd?!?,計算出 |Rowd〇wn-Rowup| (箱號字符區(qū)域的像素高度)。如果 |Rowd〇wn-Rowup| e[hi,h2], 則認(rèn)為該區(qū)域可能是箱號區(qū)域(h^hs分別表示箱號區(qū)域高度的最小閾值和最大閾值);如果 |Rowd__Row up | e [hi,h2],則認(rèn)為該區(qū)域不是箱號區(qū)域,舍棄。
[0038]步驟64、按照上述步驟的方法,繼續(xù)向下搜索所有可能的箱號區(qū)域位置,直到搜索 至箱號圖像的最后一