楊延麗 郝允慧
摘 要:為了解決基于主元分析的直線檢測無法檢測出直線間的交點和角點的問題,提出了一種新的主元分析直線檢測算法,該算法增加了Freeman鏈碼來檢測直線間的交點和角點,在交點和角點處斷開,再利用主元分析法檢測圖像中的直線特征。仿真結(jié)果表明,該算法與主元分析法相比具有更好的檢測精度和效果。
關(guān)鍵詞:直線檢測;主元分析法;Freeman鏈碼檢測算法
中圖分類號:TP751 文獻標志碼:A
0 引言
直線檢測作為數(shù)字圖像處理中圖像分割的基本手段,是計算機視覺中的重要內(nèi)容,廣泛用于數(shù)字圖像處理領(lǐng)域。直線特征通常被用于高層分析預處理中,如立體交線匹配、目標跟蹤、建筑物的識別等輸入信息。在車輛自動駕駛技術(shù)中能夠有效地提取直線道路的邊緣,在航拍照片中獲得建筑物、城市道路、水上橋梁等的直線特征,在醫(yī)學圖像處理中具有十分重要的作用。
直線檢測算法較多,常見的直線檢測算法為霍夫變換及其改進算法?;舴蜃儞Q的主要優(yōu)點是算法簡單、容易理解,能夠檢測出共線的直線,并且能連接共線的短直線,其魯棒性好、抗噪性能良好,但是由于該算法運用到窮盡式搜索,運算量大,需要的存儲空間很大且丟失了直線的端點信息,針對它的缺點提出了許多的改進算法,如快速霍夫變換、概率霍夫變換等。相位編組算法是另一種有效的直線檢測算法,它利用圖像邊緣的灰度變化來確定直線的特征,相位編組可以檢測出灰度變化緩慢的邊緣。這種直線檢測算法不受局部寬度、對比度及相位變化造成的邊緣不清晰的影響,解決了以往方法中邊緣檢測算子尺寸方面的難題。但是,該算法受直線中的間隙和噪聲的影響較大。基于主元分析的直線檢測算法能夠有效地去除噪聲的干擾,實時性好且具有良好的檢測效果,該方法的缺點是無法檢測出直線間的交叉點拐點,因此圖像重要特征易丟失。
該文通過仿真討論主元分析法的直線檢測效果,提出了主元分析法和基于鏈碼的角點檢測算法相結(jié)合的直線檢測算法,獲得較好的檢測效果。
1 主元分析算法
一條二維的理想直線,它的主元方向是由分散矩陣的特征向量和特征值來決定的, 如果一條線段有n個像素,每個像素均有坐標值,根據(jù)每個像素的坐標值計算分散矩陣、特征值及直線的傾角θ,直線的傾角與特征值有關(guān),一般說來λ1>λ2,對于理想的直線λ1應(yīng)該為0。由于數(shù)字圖像中的線是階梯狀的,因此,小的特征根不可能為零,小特征根的值在0.25~0.3,可以得到較好的檢測效果。主元分析法的算法流程:原始圖像轉(zhuǎn)換為灰度圖像,對灰度圖像采用Canny算子進行邊緣檢測,檢測的結(jié)果進行行邊緣和列邊緣的分解及標記,對標記好的行邊緣和列邊緣進行分散矩陣及特征值計算,根據(jù)計算的結(jié)果判斷該段是否具有直線特征,完成直線檢測。
2 改進的主元分析法
由于基于PCA的直線檢測算法對分邊緣得到的交叉線、連續(xù)的折線的檢測是失效的,因此也丟失了大量的信息。為了獲得較好的檢測效果,要求斷開圖像的交叉點或拐點以便繼續(xù)利用主元分析法檢測直線。圖像拐點的檢測主要有2類方法。一類是利用灰度信息,另一類是利用圖像的邊緣信息,鏈碼檢測算法屬于后者,鏈碼檢測算法主要是通過對圖像當前像素的八鄰域進行編碼,沿著逆時針方向編碼并定義差別碼,根據(jù)差別碼的大小判斷該處像素是否是交點、拐點。該差別碼為當前像素點八鄰域中相鄰的2個像素差的絕對值,若該差別碼大于2,則認為該點是拐點或者角點,若為0則該點不是角點,若該差別碼為1或者2,則需根據(jù)該點的曲率來判斷是否是拐點,此處需設(shè)定曲率的閾值,大于該數(shù)值即是拐點,否則不是。若該改進算法流程:原始圖像轉(zhuǎn)換為灰度圖像,對灰度圖像采用Canny算子進行邊緣檢測,采用鏈碼檢測算法判斷邊緣信息中的拐點,在拐點處斷開,再進行行邊緣和列邊緣的分解及標記,對標記好的行邊緣和列邊緣進行分散矩陣及特征值計算,根據(jù)計算的結(jié)果判斷該段是否具有直線特征,完成直線檢測。
3 仿真結(jié)果
采用MATLAB圖像處理工具箱,編寫主元分析法及其改進算法的程序。仿真結(jié)果如圖1~圖3所示。
4 結(jié)論
由仿真分析可知改進的算法比原算法在檢測精度和準確性上更具有優(yōu)勢,因增加角點檢測增加了算法的運算時間,還需要進一步優(yōu)化算法,使得算法運算時間降低。
參考文獻
[1]段汝嬌, 趙偉, 黃松嶺, 等.一種基于改進Hough變換的直線快速檢測算法[J].儀器儀表學報,2010,31(12):2774-2780.
[2]朱衛(wèi)綱, 李生良.相位編組方法提取直線[J].指揮技術(shù)學院學報,1999(4):65-70.
[3]汪劍,皮佑國,劉明友.基于Freeman鏈碼的漢字圖像輪廓曲線拐角點檢測方法[J].自動化技術(shù)與應(yīng)用,2009,28(1):88-92.