線掃相機的原理:線掃相機一般一次只拍攝一條線(線寬通常是1個像素),在機構(gòu)運動的過程中,線掃相機不斷地拍攝線,于是“聚線成面”,這就是線掃相機成像的原理。
線掃相機的原理決定了,它所拍攝的物體必須要運動。機構(gòu)運動的話,就存在機構(gòu)的速度是否和線掃相機采集的速度匹配的問題。
將對機構(gòu)運動速度的要求進行拆分的話,其實就是如下兩點:
① 運動速度必須與線掃相機的工作行頻(即采集速度)相匹配。
② 機構(gòu)的運動速度最好是勻速,或者十分接近勻速。
如果機構(gòu)速度過快,最后的圖像在運動方向上被壓縮;如果機構(gòu)速度過慢,最后的圖像在運動方向上被拉伸。
判斷機構(gòu)速度是偏快還是偏慢,并不困難,困難的是定量分析,要有數(shù)據(jù)作為判斷的標準。
方案步驟說明:
① 先使用標定板標定,得出與相機行頻匹配的機構(gòu)運行速度,并調(diào)節(jié)至此速度。
② 將標定板放置在運動的機構(gòu)上,采集標定板的圖像,需注意的是,標定板需要大致擺正。
③ 將采集到的標定板圖像做初步處理,例如裁掉多余的部分以便于后續(xù)處理。(這一步不是必須的)
④ 通過算法得到標定板中所有圓的最小外接平行矩形的高,計算這張圖中所有圓對應的“高”的標準差。
⑤ 為了減少誤差,可以對多張標定板圖像執(zhí)行以上算法,觀察得到的所有標準差數(shù)據(jù)。標準差越小,說明機構(gòu)運動速度越穩(wěn)定。
Halcon程序如下:
*載入當前目錄下的全部圖片
list_files ('', ['files','follow_links'], ImageFiles)
tuple_regexp_select (ImageFiles, ['\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)
for Index :=0 to |ImageFiles| - 1 by 1
dev_clear_window ()
read_image (Image, ImageFiles[Index])
threshold (Image, Region, 0, 210)
fill_up_shape (Region, Region, 'area', 1, 100)
opening_circle (Region, RegionOpening, 5.5)
connection (RegionOpening, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'roundness', 'and', 0.9, 1)
select_shape (SelectedRegions, SelectedRegions1, 'area', 'and', 10550, 19999)
smallest_rectangle1 (SelectedRegions1, Row1, Column1, Row2, Column2)
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
inner_circle (SelectedRegions1, Row, Column, Radius)
dev_display (Image)
dev_set_draw ('margin')
dev_display (Rectangle)
hight := []
for Index := 0 to |Row1| -1 by 1
*設(shè)置字體和字號
set_font (3600, '-Courier New-10-')
*顯示每個圓的最小外接矩形的高和寬
disp_message (3600,((Row2[Index] - Row1[Index]) + ' '+ (Column2[Index] - Column1[Index])) , 'image', Row1[Index] - 70, Column1[Index], 'black', 'true')
tuple_concat (hight, Row2[Index] - Row1[Index], hight)
endfor
if (|hight| > 1)
*求元組中所有元素的標準差
tuple_deviation (hight, Deviation)
set_font (3600, '-Courier New-20-')
disp_message (3600, '縱向高度標準差:' + Deviation + ' ' + |hight| + '個圓' , 'image', 50, 50, 'black', 'true')
endif
stop()
endfor
處理結(jié)果:
由于沒有對比,因此標準差 = 1.54634暫不能知道機構(gòu)的速度穩(wěn)定性是高還是低,但是如果有兩臺類似的機構(gòu),要評判它們的速度穩(wěn)定性的好壞, 那么這種方法可以輕松做出正確判斷。
審核編輯 :李倩
-
成像
+關(guān)注
關(guān)注
2文章
244瀏覽量
30552 -
相機
+關(guān)注
關(guān)注
4文章
1369瀏覽量
53950
原文標題:線掃相機項目中定量判斷機構(gòu)運動是否勻速的方法
文章出處:【微信號:機器視覺沙龍,微信公眾號:機器視覺沙龍】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論