朱戈明,應(yīng)自爐
?
基于Canny、Sobel及其改進(jìn)模板算子融合的Freeman鏈碼邊緣點(diǎn)提取算法
朱戈明,應(yīng)自爐
(五邑大學(xué) 信息工程學(xué)院,廣東 江門(mén) 529020)
針對(duì)傳統(tǒng)邊緣點(diǎn)提取算法過(guò)程復(fù)雜、計(jì)算困難的問(wèn)題,設(shè)計(jì)了一種融合Canny、Sobel及其改進(jìn)算子和Freeman鏈碼的圖像邊緣點(diǎn)提取算法(簡(jiǎn)稱CS-F法). 即先將Canny算法、改進(jìn)Sobel算法融合處理,進(jìn)行邊緣提取,再采用閾值分割方法,接著使用Freeman鏈碼,確認(rèn)邊界的具體位置,使圖案輪廓更加接近真實(shí)輪廓且更直觀. 實(shí)驗(yàn)表明,在一定的精度范圍內(nèi)(單位像素內(nèi)允許是:),融合算法性能穩(wěn)定,所提取的輪廓定位準(zhǔn)確,而且能提取目標(biāo)邊緣有序的坐標(biāo)點(diǎn),解決了有些輪廓最后需要矢量化的繁瑣過(guò)程.
Canny算子;Sobel算子;Freeman鏈碼;邊緣點(diǎn)提取
近年來(lái),學(xué)者們提出了許多關(guān)于圖像邊緣輪廓提取的算法[1-2]. 邊緣檢測(cè)反映了圖像局部特征的不連續(xù)性,通常用一階、二階導(dǎo)數(shù)來(lái)檢測(cè),常用的有Canny算子[3-4]、Sobel算子. 但單純用這兩種方法存在受噪聲或速度的影響較大使得提取出來(lái)的邊緣信息不準(zhǔn)或提取效率很低的問(wèn)題. 因此,本文研究基于Canny、Sobel兩種算法之上,結(jié)合地毯圖像及其噴印方面的實(shí)例,改進(jìn)Sobel算子并融合處理,再用VC++和MATLAB編程方法提取輪廓的點(diǎn)坐標(biāo).
1 輪廓提取與跟蹤的基本原理
1.1 圖像邊緣檢測(cè)算法
Canny(坎尼)算子是一種既能抗噪又能保持弱邊緣的算子,用泛函求導(dǎo)推出的高斯函數(shù)一階導(dǎo)數(shù)即為最佳近似的最優(yōu)邊緣檢測(cè)算子[5-6],但Canny算子在計(jì)算時(shí)較為復(fù)雜且速度比較慢.
Sobel(索貝爾)算子是利用梯度與差分原理組成的銳化算子,是一種加權(quán)平均算子,是對(duì)靠近中心的點(diǎn)的加權(quán),以此突出邊緣[7]. Sobel檢測(cè)的水平和垂直邊緣如下:
Sobel算子計(jì)算簡(jiǎn)便、速度快,但只能檢測(cè)水平和垂直方向的邊緣,對(duì)于紋理較為復(fù)雜的圖像邊緣,其檢測(cè)效果很差,常會(huì)誤判邊緣點(diǎn). 基于各向同性的Sobel(Isotropic Sobel)算子模板[8],在兩對(duì)角線方向上提出了處理效果更加精細(xì)的兩個(gè)模板算子,使得提取的輪廓清晰,并能為最后的邊緣提取細(xì)化定位提供幫助:
1.2 Freeman(弗雷曼)鏈碼
在識(shí)別圖像中的目標(biāo)時(shí),往往需要對(duì)目標(biāo)邊緣作跟蹤處理,也叫輪廓跟蹤. 即通過(guò)順序找出邊緣點(diǎn)來(lái)跟蹤邊界. 鏈碼是圖像處理及模式識(shí)別中常見(jiàn)的一種表達(dá)線條、平面曲線及區(qū)域邊界的編碼技術(shù),它有八鄰域鏈編碼和四鄰域鏈編碼兩種編碼方式. 連接邊緣點(diǎn)方向的鏈碼示意圖見(jiàn)圖1.
圖1 Freeman鏈碼的四、八鄰域鏈碼圖
為了敘述問(wèn)題的方便,我們采用待處理圖像的二值輪廓圖像(即背景是黑色、輪廓點(diǎn)是白色的圖像)進(jìn)行Freeman鏈碼操作[9].
2 多種算法的融合過(guò)程
本實(shí)驗(yàn)選用的高斯噪聲參數(shù):均值0.01,方差0.005,雙閾值是0.40和0.99. 用一階偏導(dǎo)數(shù)的有限差分來(lái)計(jì)算梯度的幅值和方向且對(duì)梯度幅值矩陣進(jìn)行梯度方向上的非極大值抑制. 多種算法融合的流程見(jiàn)圖2,具體融合過(guò)程如下:
圖2 融合算法流程圖
1)對(duì)原始圖像(如圖3所示)添加一定量級(jí)的高斯白噪聲,并采用Sobel算子的水平、垂直和對(duì)角線方向性質(zhì)的卷積模板分別進(jìn)行卷積運(yùn)算;
圖3 原始灰度圖像
3)用Canny算子,采用非極大值抑制,進(jìn)而設(shè)定雙閾值以最大限度地抑制4個(gè)方向上的噪聲,同時(shí)分別對(duì)、、、和方向角進(jìn)行平滑處理和梯度幅值及方向的計(jì)算,得到、、、;
3 圖像輪廓點(diǎn)坐標(biāo)的提取
通常圖像中目標(biāo)對(duì)象可分為連通體和非連通體. 連通體的邊界鏈碼讀取方法為:從圖像邊界任一像素點(diǎn)開(kāi)始,沿著圖像的邊界像素點(diǎn)按順時(shí)針或逆時(shí)針?lè)较蛩阉?,直到回到起始點(diǎn)坐標(biāo)為止. 這種由方向鏈碼構(gòu)成的有序鏈稱為Freeman鏈碼. 非連通體邊界鏈碼的讀取,本文暫不討論.
3.1 識(shí)別算法及步驟
本文通過(guò)跟蹤圖像,得到圖像的Freeman鏈碼及各像素點(diǎn)對(duì)應(yīng)的坐標(biāo),并將其存入數(shù)組中,具體的識(shí)別算法描述如下:
1)對(duì)圖3圖像先進(jìn)行預(yù)處理,包括去噪、尺寸歸一化,并進(jìn)行灰度處理,再中值濾波,之后進(jìn)行閾值分割處理形成二值化,最后采用一定閾值的Canny算子、Sobel及改進(jìn)算子進(jìn)行邊緣提取,再將兩算法進(jìn)行一定的融合再處理;
2)對(duì)獲取的邊緣圖像進(jìn)行跟蹤,閾值分割后,再采用Freeman鏈碼的八鄰域方式獲得圖像的邊界點(diǎn)坐標(biāo);
3)對(duì)多余的毛刺部分,再次進(jìn)行優(yōu)化;
4)保存坐標(biāo)結(jié)果,有效處理相應(yīng)的坐標(biāo)點(diǎn),為后續(xù)的攝像機(jī)標(biāo)定工作做準(zhǔn)備,既省去了一些矢量化的過(guò)程,又實(shí)現(xiàn)了精確處理輪廓的目的.
3.2 兩種算法的對(duì)比實(shí)驗(yàn)
本文研究了如圖3所示的一幅普通地毯圖案的邊緣點(diǎn)的提取. 實(shí)驗(yàn)中對(duì)輸入的彩色圖案先進(jìn)行灰度處理,再進(jìn)行降噪濾波處理,最后經(jīng)過(guò)一定的閾值的處理,再使用融合算法得到了最終滿意的邊緣清晰的關(guān)鍵點(diǎn).
3.2.1 傳統(tǒng)算法和Freeman鏈碼處理的邊緣點(diǎn)
對(duì)圖3先進(jìn)行Sobel提取,接著用雙閾值是0.40和0.99的Canny算子對(duì)提取出來(lái)的邊緣進(jìn)一步處理,最后得到新的輪廓送入Freeman鏈碼進(jìn)行處理,得到如圖4所示的輪廓和坐標(biāo).
圖4 傳統(tǒng)算法處理的輪廓及Freeman鏈碼的坐標(biāo)顯示
3.2.2 融合算法和Freeman鏈碼處理的邊緣點(diǎn)
對(duì)圖3先進(jìn)行Sobel、改進(jìn)Sobel的提取,接著用雙閾值是0.40和0.99的Canny算子對(duì)提取出來(lái)的邊緣進(jìn)一步融合處理,最后得到新的輪廓送入Freeman鏈碼進(jìn)行處理,得到如圖5所示的輪廓和坐標(biāo).
圖5 融合算法處理的輪廓及Freeman鏈碼的坐標(biāo)顯示
3.2.3 兩種算法的結(jié)果對(duì)比
1)得到鏈碼的數(shù)量和速度的比較
表1 關(guān)鍵點(diǎn)的數(shù)量和速度比較
2)峰值信噪比的對(duì)比
為比較算法對(duì)噪聲的處理能力,人為添加一些噪聲點(diǎn)進(jìn)去. 為了方便比較,我們將處理前和處理后的圖歸一化為相同的尺寸:. 原始輸入圖像為未加噪聲的圖3,圖像分別為兩種算法處理的加了高斯白噪聲再均值濾波后的圖.
相關(guān)的計(jì)算公式如下所示:
峰值信噪比(Peak Signal Noise Ratio,PSNR)單位是dB. 由式(5)可知:圖像信息的多少由PSNR值決定,其值越低,失真越多. 實(shí)驗(yàn)采用均值是0.01、方差是0.005的高斯白噪聲,用模板均值濾波器,經(jīng)計(jì)算得兩種算法的MSE值分別為:,;兩種算法對(duì)噪聲的抑制能力的大小見(jiàn)表2.
表2 峰值信噪比的對(duì)比
4 結(jié)論
本文利用CS-F算法輪廓跟蹤提取邊界點(diǎn)坐標(biāo)的方法通過(guò)MATLAB、VC++實(shí)驗(yàn)證明是可行的,且在輪廓提取方面,融合后在提取速度和誤差方面有很好的表現(xiàn),但是,本文方法對(duì)于圖像細(xì)節(jié)和噪聲很難區(qū)分的圖像處理起來(lái)比較麻煩,后續(xù)仍需對(duì)相應(yīng)的算法進(jìn)行優(yōu)化和改進(jìn),使得其在效率和實(shí)用性方面更加完善.
[1] 劉安心,余躍慶,張永亮. 三維機(jī)器視覺(jué)測(cè)量系統(tǒng)圖像邊緣提取算法研究[J]. 機(jī)械制造與自動(dòng)化,2006, 35(1): 101-103, 106.
[2] SAINI V, GARG R. A comparative analysis on edge detection techniques used in image processing [J]. IOSR Journal of Electronics and Communication Engineering, 2012, 1(2): 56-59.
[3] 周曉明,馬秋禾,肖蓉,等. 一種改進(jìn)的Canny算子邊緣檢測(cè)算法[J]. 測(cè)繪工程,2008, 17(2): 28-31.
[4] 唐路路,張啟燦,胡松. 一種自適應(yīng)閾值的Canny邊緣檢測(cè)算法[J]. 光電工程,2011, 38(5): 25-31.
[5] BAO P, ZHANG Lei, WU Xiaolin. Canny edge detection enhancement by Scale multiplication [J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2005, 27(9): 1485-1490.
[6]RONG Weibin, LI Zhanjing, ZHANG Wei, et al. An improved Canny edge detection algorithm [C]//Mechatronics and Automation (ICMA), 2014 IEEE International Conference. Tianjin: IEEE, 2014: 577-582.
[7] 刑軍. 基于Sobel算子數(shù)字圖像的邊緣檢測(cè)算法[J]. 微機(jī)發(fā)展,2005, 15(9): 48-52.
[8] SHEN Dehai, ZHANG Longchang. Application of improved Sobel algorithm in medical image edge detection [J]. Applied Mechanics and Materials, 2014, 678: 151-154.
[9] 汪劍,皮佑國(guó),劉明友. 基于Freeman鏈碼的漢字圖像輪廓曲線拐角點(diǎn)檢測(cè)方法[J]. 自動(dòng)化技術(shù)與應(yīng)用,2009, 28(1): 88-92.
[責(zé)任編輯:熊玉濤]
A Freeman Chain Code Edge Point Extraction Algorithm Based on Canny, Sobel and Their Amelioration Operator Fusion
ZHUGe-ming, YINGZi-lu
(School of Information Engineering, Wuyi University, Jiangmen 529020, China)
To solve the complicated calculation difficulties in traditional peripheral point extraction algorithm, an algorithm of peripheral point pick-up algorithm (CS-F) combining Canny, Sobel and their amelioration operator fusion is designed. First, Canny algorithm is combined with the improved Sobel algorithm to extract the edge and then the threshold segmentation method and the Freeman chain code algorithm are used to determine the specific position of the border and make the outline contour more approximate to the real profile and intuitive. Experiments show that in a certain range of accuracy (allowed unit pixels fromto), the fusion algorithm’s performance is stable, the extracted contour is accurate, and can extract the ordered coordinates of the target edge and save the cumbersome process of vectorization for some profiles.
the Canny algorithm; the Sobel algorithm; Freeman chain code; edge point extraction
1006-7302(2015)04-0042-06
TN911.13
A
2015-05-25
廣東省自然科學(xué)基金資助項(xiàng)目(10152902001000002)
朱戈明(1989—),男,安徽滁州人,在讀碩士生,主要從事人臉識(shí)別、人臉表情識(shí)別、圖像處理算法研究;應(yīng)自爐,教授,博士,碩士生導(dǎo)師,通信作者,主要從事人臉識(shí)別、人臉表情識(shí)別、智能信息處理和數(shù)字圖像處理等研究.