背景
在工業(yè)應用中,使用面陣相機識別傳送帶上的物體,當要識別的目標的最小包圍矩形(不是最小包圍旋轉(zhuǎn)矩形)小于相機視野時,可以進行后續(xù)處理。但是當要識別的目標很大,比如超長的物體,如果還使用面陣相機,有兩種辦法,一種是硬件改進,另一種是軟件改進。硬件改進就是在傳送帶運動方向均布多個面陣相機,通過同步觸發(fā)同時采集圖片,然后根據(jù)事先標定好的相機相對位置進行拼接。軟件改進需要對傳送帶上的視頻流進行處理,拼接出比較大的視野。
解決方法
一般在工業(yè)上會采用硬件改進的方法。當需要提高視覺識別的精度或者范圍時,會采用多個相機圖像進行拼接的辦法。但是在實驗室,我們可以嘗試使用軟件的方法來解決。
解決這個問題的關(guān)鍵是圖片的拼接,而圖像的拼接需要圖像中有明顯的特征點。而目標上是否有特征點我們不能控制,所以需要事先在傳送帶上布置特征點。
傳送帶上只有平移,所有對于圖像拼接的3個參數(shù)x,y和θ,只需要計算x,如果相機成像平面和傳送帶平面不平行,需要先做一個透視變換。
特征的設計及擺放考慮如下:容易識別,編碼容量不需太大,循環(huán)布置。
原始視頻
以下是在傳送帶運動時采集到的視頻:
拼接結(jié)果
算法原理
第一步:從視頻流中提取一幀圖像,作為關(guān)鍵幀,轉(zhuǎn)到第2步。
第二步:提取下一幀,根據(jù)識別到靶標計算該幀圖像和當前關(guān)鍵幀平移距離x1,如果x1約等于
0.4倍的視頻運動方向圖像像素,則把這一幀作為次關(guān)鍵幀,轉(zhuǎn)到第三步,否則重復第二步。
第三步:提取下一幀,根據(jù)識別到靶標計算該幀圖像和當前次關(guān)鍵幀平移距離x2,如果x1+x2 約等于
0.8倍的視頻運動方向圖像像素,則把當前幀作為新的關(guān)鍵幀,轉(zhuǎn)到第二步,否則重復第三步。
在23步循環(huán)的時候,把所有關(guān)鍵幀按照順序,根據(jù)當時的平移距離x1+x2進行拼接就得到一幅長圖。當然也可以實時輸出關(guān)鍵幀和對應的x1+x2。這樣,在高層算法開發(fā)時,可以認為這是一個幀觸發(fā)信號有點波動(由于幀率和傳送帶運動速度的不確定性,x1+x2不是固定值)的線陣相機。這也相當于做了一個中間層,屏蔽了底層的硬件細節(jié),使得原本為線陣相機開發(fā)的算法也可以用在面陣相機上。
-
圖像
+關(guān)注
關(guān)注
2文章
1088瀏覽量
40515 -
視覺識別
+關(guān)注
關(guān)注
3文章
89瀏覽量
16769 -
工業(yè)應用
+關(guān)注
關(guān)注
0文章
53瀏覽量
15420
原文標題:使用面陣相機進行傳送帶視頻流的拼接
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論