基于機器視覺的智能導(dǎo)覽機器人控制系統(tǒng)設(shè)計
設(shè)f(x,y)為MxN的源圖像,g(s,t)為SxT(s≤M,T≤N)的模板圖像,則誤差平方和測度定義為:本文引用地址:http://butianyuan.cn/article/163518.htm
當(dāng)A為常數(shù)時,則可用2B相匹配,當(dāng)D(x,y)取得最大值時,便認(rèn)為模板與圖像相匹配。通常假設(shè)A為常數(shù)時會產(chǎn)生誤差。嚴(yán)重時將無法正確匹配,因此可用歸一化互相關(guān)作為誤差平方和測度,定義為:
4.3 模板匹配改進(jìn)算法
但是按模板匹配算法求匹配計算工作量非常大,考慮到相關(guān)是卷積的一種特定形式以及 Matlab計算功能的強大,采用FFT方法,在頻域中計算后再進(jìn)行逆變換即可求出。圖像和定位模板圖像旋轉(zhuǎn)180°的傅里葉變換后作點乘運算,再求其逆 FFT變換并返回空間域值也就相當(dāng)于相關(guān)運算。在求取空間域值的最大值后,再根據(jù)最大值選取合適的閾值,便可確定目標(biāo)點的位置。實驗中在模板匹配成功后,可將目標(biāo)和背景顏色二值化,并用紅色“十”字符號標(biāo)記,不斷更新數(shù)據(jù)信息。將停靠點設(shè)定在自己期望的像素位置(如圖像的中心位置偏下),然后自動調(diào)整機器人位置,設(shè)計成如圖5形式,可知機器人需要向右行駛。
圖6為視覺導(dǎo)航算法流程。
5 實驗結(jié)果與結(jié)論
基于以上設(shè)計,對進(jìn)行機器人運動控制和路徑規(guī)劃進(jìn)行實驗。實驗分別采用Matlab語言進(jìn)行圖像仿真,能夠自動選擇合適的閾值分割,并得到較好的邊緣檢測,然而在實驗中有時會因為光照強度或其他因素影響,在進(jìn)行閾值分割時不能達(dá)到理想效果,在 VC環(huán)境下能夠控制機器人運動,模板匹配取得較好效果,后續(xù)將著重在Visual C++6.0環(huán)境進(jìn)行圖像處理方法研究。這樣可以更好控制機器人運動??傊撓到y(tǒng)設(shè)計可使機器人能夠在復(fù)雜多變的環(huán)境下準(zhǔn)確識別圖像信息,并做出正確決策,完成所需動作,從而實現(xiàn)既定目標(biāo)。
評論