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