本站小編為你精心準備了數控雕刻的圖像角點檢測參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
《中國測試雜志》2014年第三期
1基于三點鏈碼和與差的角點檢測算法
1.1基本概念八鄰域鏈碼的定義如圖1所示。其中,P表示輪廓中的某個像素點,0~7為該像素點在不同方向的鏈碼值。運用輪廓跟蹤算法[7-9]可將輪廓用鏈碼表示。圖2所示的輪廓(黑色方框代表輪廓中的像素點),從點A開始按順時針方向移動時,輪廓的邊界鏈碼表示為L=1701765554322。相對鏈碼為當前點與前一點的鏈碼值之差,當前點與前一點的鏈碼差大于4時,相對鏈碼值為其差值減8。絕對鏈碼為相對鏈碼從起始點開始的累加值,設起始點的絕對鏈碼值為0。當絕對鏈碼從起始點繞輪廓一周后,由于相對鏈碼的累加,其值將增加8,即:
1.2三點鏈碼和與三點鏈碼差計算三點鏈碼和是指當前點與前兩點的絕對鏈碼之和,在輪廓邊界的局部可以將其近似看作一條直線,表示該點的斜率,其計算如式(3):對封閉輪廓,計算起始兩點的三點鏈碼和時,部分絕對鏈碼值要從末端取,而末端的絕對值比起始點的大8,具體計算如式(4):根據式(4)得到起始點的三點鏈碼和不一定等于0,為了統一,在計算每個邊界點的三點鏈碼和時,將所有點的三點鏈碼和均減去起始點的三點鏈碼和,得到從0開始的三點鏈碼和序列。三點鏈碼差是指當前點鄰域內的三點鏈碼和之差,即:同理,對封閉輪廓,在計算起始點和末端兩點的三點鏈碼和之差時,部分數據要在末端和起始點取,即圖3為五角星輪廓,圖4(a)和圖4(b)為五角星輪廓對應的三點鏈碼和與三點鏈碼差曲線圖。三點鏈碼和將輪廓分成24等分,而鏈碼只將輪廓分成8等分。因此,用三點鏈碼和可以更好地表示邊界的輪廓特征。在鏈碼和曲線上,直線段的部分對應邊界上的直線,傾斜的直線對應邊界上的斜線或圓弧,當鏈碼和曲線對應的是圓弧時,曲線上的傾角越小,圓弧的半徑就越大,反之則越小。三點鏈碼差表示兩個切線方向的差值,是一個與曲率成正比的量[10]。三點鏈碼差為1,表示兩切線方向的夾角為15°[11]。三點鏈碼差曲線中的極值點即為圖像輪廓的角點。當邊界輪廓沿著逆時針走向時,差值為正的點為凸角點,差值為負的點為凹角點。
1.3基于鄰域最大值和斜率差值的偽角點辨別方法角點檢測中,圖像中一些非真實的角點會被誤檢測為角點,稱為偽角點。本文對偽角點的產生原因進行了研究,根據分析結果進行了如下處理。(1)偽角點出現在真實角點的鄰域。對這類偽點,在檢測到某點為角點時,檢測其鄰域內N個像素點(N一般取3~8)是否還有其他角點,若存在其他角點,則取這N+1個像素中三點鏈碼差的絕對值最大的那一點為真實角點,然后刪除其他角點;否則保留該點為真實角點并進行下一角點的檢測。(2)偽角點出現在近似直線的輪廓線段中。對這類偽角點,只需計算相鄰兩角點與該點的斜率,然后根據斜率差值的絕對值判定該點是否為角點,若斜率差值較小,則該點為偽角點并刪除,否則保留該點為真實角點。計算過程如下:在封閉輪廓中,對起始和末端角點進行偽角點檢測時,其坐標值應分別從末端和起始點取。設(x1、y1)、(xm、ym)分別為某輪廓角點序列的起始和末端坐標值,則起始角點的斜率計算如式(9):1.4角點檢測算法角點判定方法為Diff(i)≤u或Diff(i)≥ν(11)其中u和ν分別代表上下閾值,u值為負,ν值為正。u和ν的大小對角點檢測的效果有直接影響。u、ν的值越大,表示對角點的判定越嚴格,檢測到的角點越少;反之,u、ν的值越小,檢測到的角點越多,甚至有一些不是角點的點也會被檢測為角點。因此,對于u和ν的值一般要根據具體情況進行調整。通常情況下,u、ν的絕對值以1~3為宜。綜合分析,角點檢測算法的總流程如圖5所示。
2仿真與分析
本研究以某個剪紙圖像輪廓(實際角點數為144個)為例。取角點檢測的閾值u=-2,ν=2,N=5,δ=0.1,將其與harris(取harris算法中矩陣的兩特征值的比為0.09)、Freeman鏈碼算法比較,檢測結果如圖6。仿真結果對比如表1所示。從表1可以看出,Harris算法檢測的角點數為288個,其中真實角點占123個,偽角點數165個;Freeman鏈碼算法檢測的角點數為664個,偽角點數多達534個;本算法檢測的角點數為189個,其中真實角點126個,占檢測角點的66.7%,真實角點的檢測率達87.5%,檢測效果明顯優于傳統兩個角點檢測算法。
3結束語
針對具有圖像處理的數控雕刻系統中的角點檢測問題,研究了運用三點鏈碼和與三點鏈碼差檢測圖像輪廓的角點,并首次應用鄰域最大值和斜率差值法去除偽角點。仿真結果表明,本算法計算簡單,穩定可靠,可以更有效地檢測出圖像的真實角點。
作者:翟敬梅唐會華鄒焱飚單位:華南理工大學機械與汽車工程學院