張金鳳,劉 昕
(西安理工大學 印刷包裝與數(shù)字媒體學院,陜西 西安 710048)
印刷出的圖像通過掃描設備以數(shù)字圖像的形式在計算機中存儲,對印刷圖像邊緣的檢測實際上是將數(shù)字圖像的目標區(qū)域與背景區(qū)域區(qū)分開。圖像邊緣檢測算子有很多,根據(jù)計算邊緣導函數(shù)類型的不同,可以將邊緣檢測算子分為一階導函數(shù)和二階導函數(shù)兩類。通常情況下,一階導函數(shù)對邊緣定位速度快且節(jié)約檢測時間,二階導函數(shù)相對復雜,實驗中針對一階算子進行了重點研究。Sobel邊緣檢測算子以一階導函數(shù)為基礎,因計算簡單、速度快而被廣泛應用,但是此算法存在漏檢邊緣、抗噪能力低、邊緣線條較粗糙等問題,只能滿足精度不高的檢測需求。國內(nèi)外研究者針對圖像邊緣檢測做了許多研究,文獻[1]在傳統(tǒng)Sobel算法的基礎上改進為8方向的5×5檢測模板,增強了算法的抗噪性,但計算時間較長,導致邊緣線條較粗糙。文獻[2]提出采用擊中擊不中變換的優(yōu)化邊緣提取算法,雖然能避免圖像的漏檢,但在消除圖像偽邊緣的同時也造成了圖像細節(jié)的丟失。文獻[3]引入數(shù)學形態(tài)學模型,提出一種基于形態(tài)學中高低帽變換預處理后再進行迭代分割的改進優(yōu)化算法,此優(yōu)化算法計算時間長且運行程序過于復雜,而且需要特定的圖像,并不具有魯棒性特點。
傳統(tǒng)的Sobel算子[4-5]主要對0°與180°的水平方向和90°與270°的垂直方向上的邊緣信息比較敏感,容易檢測到邊緣信息。這樣會導致圖像的其他方向因為檢測方向的限制而丟失圖像邊緣檢測的信息。Sobel是一階導函數(shù)圖像邊緣檢測算子,也稱為梯度邊緣算子[6],它是通過圖像邊緣梯度在圖像的邊緣取得極大值來進行檢測的。梯度I是一個矢量,它具有方向θ和模|ΔI|,由式(1)、(2)、(3)可以分別求出ΔI、|ΔI|、θ值。
(1)
(2)
θ=arctan(Iy/Ix)
(3)
圖像邊緣梯度中的|ΔI|表示圖像邊緣的強弱信息,|ΔI|值越大,表示是圖像邊緣信息的可能性越大,反之則越小。θ值表示梯度的方向,梯度的方向自始至終是與邊緣的方向垂直的。在應用編程語言對圖像邊緣進行檢測時,通常用有限差分[7]來計算邊緣信息:
(4)
(5)
式中:h表示接近圖像邊緣的距離;△x和△y表示像素點的距離在0~1之間的增量。
圖1 3×3像素模板和梯度方向表示
如圖1所示,3×3像素模板中心像元(即中心像素點(i,j))的梯度為:
(6)
(7)
式中:Mx、My分別為水平方向和垂直方向模板計算公式;c為中心像元權值;a0~a7為中心像元周圍的像素。
當c=2時,便得到傳統(tǒng)的Sobel邊緣檢測模板:
在1.1節(jié)中對傳統(tǒng)的Sobel算子模板生成原理進行了分析,也是在此基礎上對其進行改進,加入45°與225°方向和135°與315°方向的兩個模板。新添加的模板分別用m45°和m135°表示。這樣的改進措施其改進原理是在水平和垂直方向檢測的基礎上擴大了檢測的方向范圍,因而對圖像的檢測更加精準。
(8)
(9)
根據(jù)圖像檢測中其檢測方向的對稱性,將0°~360°梯度方向角歸并成四個方向,如圖2所示:0°與180°方向、45°與225°方向、90°與270°方向、135°與315°方向。其他方向以此類推,都可以找到相應的對稱方向。
圖2 算子方向
用算法對圖像的邊緣進行提取,提取到的邊緣會有兩類,即真邊緣和假邊緣[8]。在圖像的邊緣檢測中,應用傳統(tǒng)的檢測算子時假邊緣的出現(xiàn)是無法避免的,這就需要對現(xiàn)有算子進行改進,以此來消除假邊緣效應的存在。將形態(tài)學算子加入改進后的Sobel算子中,不僅消除了假邊緣,而且還使圖像的邊緣細節(jié)更加完整。形如f(x,y)和b(x,y)的圖像函數(shù),f(x,y)為輸入圖像,b(x,y)為結(jié)構元素。
1)膨脹運算:
(f⊕b)(s,t)=max{f(s-x,t-y)+
b(x,y)|(s-x,t-y)∈Df,(x,y)∈Db}
(10)
式中:Df和Db分別為f和b的定義域。
2)腐蝕運算:
(fΘb)(s,t)=min{f(s+x,t+y)-
b(x,y)|(s+x,t+y)∈Df,(x,y)∈Db}
(11)
3)開運算:
f°b=(fΘb)⊕b
(12)
4)閉運算:
f·b=(f⊕b)Θb
(13)
膨脹運算的作用是對圖像的邊緣未連接部分進行連接,使圖像的邊緣顯現(xiàn)出更多。腐蝕運算的作用是盡可能的對圖像的邊緣進行收縮,消除假邊緣現(xiàn)象的存在。雖然膨脹腐蝕運算能使邊緣進行有效的連接,但同時也可能改變邊緣的信息,而開閉運算正好能彌補其不足之處,同時還具有其相應的優(yōu)點。
5)高低帽變換:
高低帽變換是由式(10)~(13)幾種算子組合而成的,高帽變換可以突出圖像細節(jié),低帽變換可以突出相連接目標間的界限。在改進的Sobel邊緣檢測圖像上加上高帽變換的結(jié)果再減去低帽變換,可以有效提高圖像的對比度,豐富細節(jié)信息。
形態(tài)學top-hat變換:
Hhat=f-(f°b)
(14)
形態(tài)學bottom-hat變換:
Bhat=(f·b)-f
(15)
實驗圖像來自于圖像庫里的標準圖像,通過對標準圖像的檢測可以避免很多圖片自身問題所帶來的干擾。圖3為實驗圖像,實驗的硬件配置如表1所示。
圖3 實驗圖像
表1 實驗中的計算機配置
Tab.1 Computer configuration in experiment
軟件計算機系統(tǒng)LenovoWindows7-Zip(64bit)實驗平臺軟件Matlab硬件計算機型號LenovoG405s中央處理器1.9GHz硬盤容量1T運行內(nèi)存4.0GB顯示分辨率1366.0×768.0
用Matlab生成的效果圖如圖4 所示,從第一組Lena圖像中可以得出,改進的Sobel邊緣檢測相較于其他兩種檢測效果更好,可以通過圖5 Lena圖像邊緣檢測局部圖,清晰地看出沒有邊緣的斷裂以及邊緣的漏檢。表2給出了對改進算法的客觀評價結(jié)果,峰值信噪比(PSNR)是一種評價圖像質(zhì)量最為普遍和使用最廣泛的客觀量測法,其值越大,代表邊緣檢測效果越好。改進后的算法能較好地提高圖像的質(zhì)量,保留圖像的原始信息。第二組pepper圖片實驗效果圖和第三組flower實驗效果圖驗證了該算法的使用具有魯棒性。
圖4 傳統(tǒng)算法與改進算法及Matlab自帶算法實驗效果圖
圖5 Lena圖像邊緣檢測局部圖
表2 圖像邊緣檢測性能評價
由于改進Sobel邊緣檢測圖是由改進的四個模板卷積生成的,只是選取了圖像的0°、90°、45°和135°特定的方向,所以有些邊緣細節(jié)并沒有凸顯出來。通過圖6形態(tài)學高低帽變換圖(Lena圖像和pepper圖像)可以清晰地看出,在改進的Sobel邊緣檢測圖像上加上高帽變換的結(jié)果再減去低帽變換(加入高低帽變換是對整幅圖像進行細節(jié)上的變換處理),可在有效提高圖像對比度[9]的同時,豐富細節(jié)信息,使檢測到的圖像與原圖像邊緣信息更加吻合。
圖6 形態(tài)學高低帽變換圖
1)改進后的Sobel算法對圖像邊緣的檢測更加清晰,但是有很多邊緣的細節(jié)丟失。
2)在改進的Sobel邊緣檢測圖像上加上高帽變換的結(jié)果再減去低帽變換,可以有效提高圖像的對比度和豐富細節(jié)信息,能更好地還原圖像的真實邊緣。
通過對數(shù)字圖像的實驗,得到的檢測效果比較理想。在印刷圖像通過掃描設備進行缺陷質(zhì)量檢測過程中,應用此優(yōu)化后的邊緣檢測算法,將更便于分析圖像的邊緣信息。