王夢麒 宋廣軍
【摘 要】 為提高集裝箱自動化裝卸效率,基于MATLAB軟件建立集裝箱箱號識別系統(tǒng),通過圖像預(yù)處理、圖像擺正、字符識別匹配等3個環(huán)節(jié)對已獲得的圖像進(jìn)行識別,以得到圖像中集裝箱的具體號碼。該系統(tǒng)可以避免傳統(tǒng)集裝箱管理過程中人工辨別易出現(xiàn)的錯誤和疏忽問題。
【關(guān)鍵詞】 MATLAB軟件;圖像處理;集裝箱箱號識別
0 引 言
近幾年,我國對外貿(mào)易快速發(fā)展,各港口進(jìn)出口貨物吞吐量日益提升,散雜貨集裝箱化率也不斷提高。集裝箱貨物在世界海運貿(mào)易中占據(jù)很大的貿(mào)易價值量,對經(jīng)濟(jì)發(fā)展有著積極的推動作用,因此集裝箱裝卸作業(yè)技術(shù)的研究備受重視。集裝箱自動化裝卸作業(yè),需要計算機(jī)系統(tǒng)能在各種復(fù)雜的環(huán)境下進(jìn)行視覺定位,從而實現(xiàn)對集裝箱的各種運輸控制。可見,對集裝箱進(jìn)行基于圖像處理技術(shù)的箱號識別工作是很有必要的,有助于提升集裝箱自動化裝卸效率。
集裝箱箱號識別過程主要包括獲取集裝箱圖像、圖像預(yù)處理、圖像擺正、識別匹配、輸出結(jié)果。
1 圖像預(yù)處理
1.1 濾波去噪
集裝箱箱號識別系統(tǒng)所獲取的集裝箱圖像帶有一定的噪聲干擾,這時需要對獲取的集裝箱圖像進(jìn)行去噪濾波,同時進(jìn)行集裝箱圖像的灰度處理、集裝箱圖像的邊緣檢測和圖像擺正、集裝箱圖像的RGB模式像素提取等,可以采用均值濾波器或中值濾波器對圖像進(jìn)行濾波處理。
1.1.1 均值濾波器
均值濾波也稱為線性濾波,其采用的主要方法為鄰域平均法。線性濾波的基本原理是用均值代替原圖像中的各個像素值,即對待處理的當(dāng)前像素點(x,y),選擇一個模板,該模板由其近鄰的若干像素組成,求模板中所有像素的均值,再把該均值賦予當(dāng)前像素點(x,y),作為處理后圖像在該點上的灰度g(x,y)。常用等式關(guān)系為
均值濾波本身存在著固有的缺陷,在圖像去噪的同時也破壞了圖像的細(xì)節(jié)部分,從而使圖像變得模糊,不能很好地去除噪聲點。
1.1.2 中值濾波器
中值濾波是一種非線性數(shù)字濾波技術(shù),主要用于抑制脈沖噪聲,可以完全濾除尖波干擾噪聲,同時對目標(biāo)圖像邊緣特性也有較好的保護(hù)。
中值濾波可以過濾尖峰脈沖,濾波后的數(shù)據(jù)可保持原始圖像的方向,同時消除尖峰值的影響。以一維信號的中值濾波為例,灰度排列為110、90、100、130、120、210、80。若按照從大到小來進(jìn)行排列,其結(jié)果為80、90、100、110、120、130、210,其中間位置上的灰度值110即為該灰度序列的中值。一維信號的中值濾波器實際上是用一個中值來代替信號值事先所規(guī)定的位置(通常是指原始信號序列的中心位置)。由以上序列可知,中值濾波的結(jié)果就是剔除序列110、90、100、130、120、210、80中的信號序列峰值210,再用之前計算求出的中值110來代替,得到的濾波序列就是90、130、100、110、110、120、80。若210是此序列的一個噪聲信號,那么噪聲點就會被消除。
1.2 集裝箱圖像灰度處理
圖像灰度處理就是將一個彩色圖像轉(zhuǎn)換成一個灰度圖像的過程。彩色圖像中的像素色彩是由R(Red)、G(Green)、B(Blue)的3個分量來確定的,每一個分量的值是0~255,因此,像素可以是一組超過1 600萬級的變化(255 ?255 ?255)。灰色圖像是R、G、B 3個分量的同一個特殊彩色圖像,一個像素的變化范圍為256種,所以數(shù)字圖像處理通常是將各種格式的圖像變成灰色圖像,這樣一來就使得后續(xù)圖像的計算量變小。圖像灰度處理可以由以下兩種方式實現(xiàn)。
(1)將每個像素的R、G、B 3種分量的平均值再平均分配給像素的3個分量。
(2)基于顏色空間YUV編碼方法,從灰度圖像亮度的級別,可以根據(jù)所期望的變化和YUV顏色空間值創(chuàng)建亮度Y與R、G、B之間的對應(yīng)關(guān)系,關(guān)系式為
1.3 集裝箱圖像的邊緣提取
邊緣檢測是計算機(jī)視覺和圖像處理中的一個基本問題。檢測的關(guān)鍵之處是識別數(shù)字圖像的亮度顯著變化的點。常見的邊緣檢測算子有Canny算子和Sobel算子。
(1) Canny算子。Canny算子是一種最優(yōu)的邊緣檢測算法。最優(yōu)邊緣檢測的含義是:好的檢測算法能夠盡可能多地識別出圖像的實際邊緣,要求實際邊緣與所識別的邊緣盡可能接近,圖像中的邊緣只可以被識別一次。任何邊緣檢測算法無法處理原始數(shù)據(jù),因此,應(yīng)使用高斯平滑函數(shù)對原始數(shù)據(jù)作卷積運算。圖像中的邊緣可以在不同的方向顯示,所以Canny算法使用4個掩模來檢測水平、斜向和垂直方向的邊緣。由像素點的最大值和邊緣的方向生成圖像中每個像素點的梯度亮度和原始圖像梯度亮度的方向。亮度相對高的梯度有可能是邊緣,但目前還沒有確切值來限制其具體值,因此使用延遲閾值。延遲閾值需要低閾值和高閾值兩個閾值。取用較大的閾值通過導(dǎo)出的方向信息來識別比較確定的真實邊緣,并跟蹤整個邊緣;跟蹤時,使用較小的閾值,直至回到起點都可以跟蹤到模糊曲線。這一過程完成后,會得到一個二值圖像,每個像素點表示是否為該點的邊緣。
(2)Sobel算子。Sobel算子是典型的邊緣檢測算子并且是基于一階導(dǎo)數(shù)的。該算法提供類似的局部平均運算,因此噪聲會有一個平滑的效果,是一個可以去除噪聲影響的好方法。Sobel算子分別在縱向和橫向的模板中組成一組3 ?3陣列,與平面圖像作卷積運算,獲取垂直和水平方向上的大致差值。
2 集裝箱圖像的擺正
對于有可能出現(xiàn)不一樣圖像的情況,可對圖像作出校正處理,此系統(tǒng)采用Radon變換將圖像進(jìn)行擺正處理。Radon變換可以看作是平行束對圖像的線積分,變換角度默認(rèn)是逆時針。
3 結(jié) 語
集裝箱的箱號識別是提高集裝箱自動化管理技術(shù)的必要途徑。本文所設(shè)計的集裝箱箱號識別系統(tǒng)使用MATLAB軟件進(jìn)行模擬和測試是實際有效的,可以提高識別集裝箱箱號的效率。