本發(fā)明屬于物體定位方法領(lǐng)域,更具體地,涉及一種物體動態(tài)定位方法。
背景技術(shù):
opencv是一個基于bsd許可(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在linux、windows、android和macos操作系統(tǒng)上,其由一系列c函數(shù)和少量c++類構(gòu)成,同時提供了python、ruby、matlab等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。
opencv致力于真實世界的實時應(yīng)用,通過優(yōu)化的c代碼的編寫對其執(zhí)行速度帶來了可觀的提升,并且可以通過購買intel的ipp高性能多媒體函數(shù)庫(integratedperformanceprimitives)得到更快的處理速度。應(yīng)用領(lǐng)域包括:人機互動,物體識別,圖像分割,人臉識別,動作識別,運動跟蹤,汽車安全駕駛等等。
物體動態(tài)定位是通過各種類型的傳感器以及相關(guān)儀器設(shè)備對運動的物體進(jìn)行實時監(jiān)控,并且實時分析確定其所在位置,以達(dá)到對物體位置的準(zhǔn)確提取。該技術(shù)運用于生活的各個領(lǐng)域,定位的速度和精度與所有設(shè)備和定位方法有直接關(guān)系。
一般來說,通過gps或者其他無線技術(shù)進(jìn)行定位,只能針對大區(qū)域的大型物體進(jìn)行定位,定位的精度大概在米(m)的數(shù)量級,很難做到在小區(qū)域范圍對小物件精確定位至厘米(cm)數(shù)量級,另外,傳統(tǒng)攝像頭定位對物體的定位大多時候受到環(huán)境因素的影響,有較大誤差,甚至無法識別出物體。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種基于顏色識別和輪廓提取的物體動態(tài)定位方法,針對物體實時動態(tài)定位領(lǐng)域,實時對攝像頭采集的圖像進(jìn)行分析;通過顏色識別和輪廓提取,精準(zhǔn)識別顏色和計算實現(xiàn)對物體進(jìn)行的動態(tài)定位,可以應(yīng)用于抓取機器人、智能車避障、工業(yè)傳送帶檢測等多種場合。
為實現(xiàn)上述目的,按照本發(fā)明,提供了一種基于顏色識別和輪廓提取的物體動態(tài)定位方法,其特征在于,包括以下步驟:
1)物體標(biāo)記:給每個需要識別的物體表面分別貼上一個標(biāo)簽,其中,每個標(biāo)簽的顏色各不相同,并且標(biāo)簽的形狀為矩形或圓形;
2)獲取數(shù)據(jù):攝像頭實時采集所有標(biāo)簽的圖像并將這些圖像傳至計算機;
3)顏色識別:計算機將獲得的圖像由rgb空間轉(zhuǎn)為hsv空間,并根據(jù)預(yù)先設(shè)置的不同顏色的hsv顏色區(qū)間實現(xiàn)顏色的識別,然后根據(jù)hsv顏色區(qū)間,分別提取各單一顏色區(qū)間的像素圖案;
4)輪廓提?。簩⒉襟E3)提取的像素圖案轉(zhuǎn)灰度圖,對灰度圖進(jìn)行高斯降噪處理,再對各標(biāo)簽對應(yīng)的灰度圖分別進(jìn)行輪廓提取,獲得各標(biāo)簽對應(yīng)的輪廓,然后根據(jù)設(shè)定的篩選范圍,分別對各個輪廓進(jìn)行篩選,保留面積在篩選范圍內(nèi)的輪廓;
5)物體定位:對所篩選出的輪廓分別進(jìn)行擬合獲得最小的擬合外圍,從而獲得物體的中心點坐標(biāo),進(jìn)而獲得物體的位置,其中,擬合外圍的形狀與對應(yīng)標(biāo)簽的形狀一致。
優(yōu)選地,步驟5)按以下方法獲得單個物體的中心點坐標(biāo)
優(yōu)選地,攝像頭采集的時間間隔為10ms-50ms。
優(yōu)選地,攝像頭通過數(shù)據(jù)線或者wifi路由器將采集圖像傳送給計算機。
優(yōu)選地,所述攝像頭為usb攝像頭或wifi攝像頭。
總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
1)事先對識別物體進(jìn)行特定顏色和形狀標(biāo)記,減小識別難度,識別比較簡單直接;
2)將rgb空間轉(zhuǎn)換為hsv空間,設(shè)置具體的顏色區(qū)間,實現(xiàn)對顏色的精準(zhǔn)區(qū)分;
3)提取輪廓后,根據(jù)輪廓的大小,分布情況等進(jìn)行多次篩選,以保證得到的輪廓是標(biāo)記所在的輪廓;
4)計算速度快,可移植性強,可廣泛運用于各種機器人識別物體。
附圖說明
圖1是本發(fā)明方法的流程圖;
圖2是本發(fā)明中三個物體上不同顏色的長方形標(biāo)簽的示意圖;
圖3是本發(fā)明中實際識別出的三個物體上標(biāo)簽的形狀和中心點的示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
參照圖1~圖3,一種基于顏色識別和輪廓提取的物體動態(tài)定位方法,包括以下步驟:
1)物體標(biāo)記:給每個需要識別的物體表面分別貼上一個標(biāo)簽,其中,每個標(biāo)簽的顏色各不相同,并且標(biāo)簽的形狀為矩形或圓形;
2)獲取數(shù)據(jù):攝像頭實時采集所有標(biāo)簽的圖像并將這些圖像傳至計算機,其中,攝像頭采集的時間間隔為10ms-50ms,攝像頭通過數(shù)據(jù)線或者wifi路由器將采集圖像傳送給計算機,所述攝像頭為usb攝像頭或wifi攝像頭。
3)顏色識別:計算機將獲得的圖像由rgb空間轉(zhuǎn)為hsv空間,并根據(jù)預(yù)先設(shè)置的不同顏色的hsv顏色區(qū)間實現(xiàn)顏色的識別,然后根據(jù)hsv顏色區(qū)間,分別提取各單一顏色區(qū)間的像素圖案;
4)輪廓提取:將步驟3)提取的像素圖案轉(zhuǎn)灰度圖,對灰度圖進(jìn)行高斯降噪處理后進(jìn)行輪廓提取,然后根據(jù)設(shè)定的篩選范圍,對提取的輪廓進(jìn)行篩選,保留面積在篩選范圍內(nèi)的輪廓;譬如,設(shè)定的篩選范圍為[a,b],則面積在此區(qū)間以內(nèi)的面積都被保留下來,而面積不在此區(qū)間的則被除去;
5)物體定位:對所篩選出的輪廓進(jìn)行擬合獲得最小的擬合外圍,從而獲得物體的中心點坐標(biāo),進(jìn)而獲得物體的位置,其中,擬合外圍的形狀與對應(yīng)標(biāo)簽的形狀一致,其中,步驟5)按以下方法獲得單個物體的中心點坐標(biāo)
本方法主要針對物體實時動態(tài)定位領(lǐng)域,實時對攝像頭采集的圖像進(jìn)行分析。通過顏色識別和輪廓提取,精準(zhǔn)識別顏色和計算實現(xiàn)對物體進(jìn)行動態(tài)定位,并對下位機發(fā)送位置指令,可以應(yīng)用于抓取機器人、智能車避障、工業(yè)傳送帶檢測等多種場合。而本方法對于局部的小部件定位精度可以達(dá)到1cm,實現(xiàn)真正的精準(zhǔn)定位,而且可以達(dá)到較高的物體識別定位率。
在計算機操作時,按鍵盤啟動攝像頭,屏幕會顯示出標(biāo)簽顏色,參照圖2,左上為紅色標(biāo)簽,右上為藍(lán)色標(biāo)簽,下方的為綠色標(biāo)簽(圖2中未顯示出彩色),理想測試的圖像是電腦生成的圖片,三個標(biāo)簽選擇矩形,每個矩形內(nèi)部的顏色無色差和明暗區(qū)別。
實際測出時,參照圖3,左上為紅色標(biāo)簽識別結(jié)果,左下為綠色標(biāo)簽識別結(jié)果,右方的為藍(lán)色標(biāo)簽識別結(jié)果(圖3中未顯示出彩色,其并不是由圖2的三個標(biāo)簽識別出來的),標(biāo)簽可以用白色點來顯示出中心點,實際測試圖案是攝像頭抓拍的圖案,標(biāo)簽的明暗可能會不一致,識別的難度比理想情況大得多。
另外,每隔30ms,計算機屏幕會自動更新當(dāng)前標(biāo)簽的位置信息。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。