<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 機器視覺(jué)軟件Sherlock的應用――標定

機器視覺(jué)軟件Sherlock的應用――標定

作者: 時(shí)間:2005-02-15 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹如何對將相機像素坐標系轉換成實(shí)際測量或檢測所需要的坐標系,以及利用來(lái)修正相機CCD平面與物體測量平面不平行引起的畸變。

關(guān)鍵詞:(calibrate) 校正 放射性失真 畸變 虛擬相機

進(jìn)行檢測或測量時(shí),要得到精確的測量值,需要相機CCD平面和實(shí)際檢測或測量零件的表面相平行。否則,將發(fā)生透視性失真,從而很難保證精度。相機CCD與零件表面的平行通常通過(guò)人工調整夾具來(lái)保證。但是,調整夾具不可能完全保證平行,而且需要耗費很長(cháng)的時(shí)間。

相機所拍攝圖像的坐標系并不是用戶(hù)實(shí)際需要的坐標系,因此需要將坐標系轉換成用戶(hù)需要的坐標系。

利用很容易修正仿射性失真引起的畸變,并可方便的進(jìn)行坐標變換。

1 相機標定工作原理

相機標定就是將相機像素坐標系轉換成用戶(hù)實(shí)際測量或檢測所需要的坐標系,使虛擬攝像機以真實(shí)單位進(jìn)行精密測量。

的相機標定利用了透視算法進(jìn)行標定。每一次失真的類(lèi)型都不一定相同,透視校正算法將對仿射變換和線(xiàn)性透視畸變進(jìn)行補償,特別是當攝像機平面和物體平面不平行的時(shí)候,圖像中物體的直線(xiàn)仍然是直的,但是平行線(xiàn)不再平行(如圖1,透視失真),標定將補償仿射變換和少量的非線(xiàn)性畸變。

Sherlock的相機標定方法是在一個(gè)虛擬相機中利用四點(diǎn)坐標系函數來(lái)建立四點(diǎn)的位置。這樣,根據相機中的四個(gè)點(diǎn)的位置同實(shí)際坐標的關(guān)系,Sherlock可以通過(guò)內部數學(xué)轉換進(jìn)行坐標變換,來(lái)校正仿射性失真或由于比例、偏移和旋轉(傾斜)引起的變化。

當攝像機傳感器平面和物體平面之間存在一個(gè)角度時(shí),透視畸變就會(huì )發(fā)生。此時(shí)棋盤(pán)上的正方形看起來(lái)像梯形。透視畸變的數學(xué)公式如下:

u=(ax+by+c)/(hx+hy+I),

υ=(dx+ey+?)/(gx+hy+i)

(x,y)是攝像機或物體平面上的坐標,(u,v)是另一個(gè)平面上的轉換坐標。A,b,c,d,e,f,g,h和I是透視畸變算法從內部取出用于轉換每個(gè)要求點(diǎn)的轉換參數。

2 相機標定的步驟

圖2是標定主頁(yè)圖。相機標定的一般步驟如下:

(1)建立一個(gè)子程序(Insert | Subroutine)。

(2)在策略窗口樹(shù)的頂部雙擊子程序圖標,Sherlock顯示子程序編輯對話(huà)框。

(3)編輯子程序,選取“Execute During Calibration”點(diǎn)擊OK按鈕保存并且退出。

(4)創(chuàng )建一個(gè)虛擬相機(Insert | Subroutine)。

(5)通過(guò)使用菜單命令(Stakeout | Options)顯示默認的相機坐標柵格,在坐標柵格下方選擇“Lines",然后點(diǎn)擊OK按鈕退出對話(huà)框。

圖2

(6)將一個(gè)已知尺寸的零件作為標定塊放置在相機的視野范圍內。

(7)在虛擬相機窗口,選擇零件上的四個(gè)特征點(diǎn)作為標定點(diǎn)。

(8)在子程序中插入公式(fromular)。編輯公式,將四個(gè)特征點(diǎn)的坐標作為公式的輸入值,選擇標定(calibrate)函數。

(9)編輯標定(calibrate)函數的參數,輸入四個(gè)標定點(diǎn)的實(shí)際坐標值。

(10)再次選擇菜單命令(Investigate | Calibrate),將出現新的坐標柵格??梢栽赟takeout | Options中改變柵格大小。

(11)對其他零件進(jìn)行測量,測量的結果將是實(shí)際測量值。

3 單個(gè)相機多個(gè)標定

Sherlock的標定在同一個(gè)測量平面內是有效的。如果用一臺相機對多個(gè)平面的尺寸進(jìn)行測量,那么就需要進(jìn)行多個(gè)標定。如圖3所示,用一臺相機測量Ф5Ф10尺寸,如果相機從上面拍攝,由于兩個(gè)平面距離相機的遠近不同,所以?xún)蓚€(gè)平面在所拍攝的圖像中對應的比例也不同,如果對Ф10的平面進(jìn)行標定,則Ф5的平面上測量的結果就不準確,同樣,對Ф5的平面進(jìn)行標定,則Ф10的平面上測量的結果就不準確。Sherlock可以對同一相機產(chǎn)生兩個(gè)多個(gè)虛擬相機(stakeout),在該圖中可以利用兩個(gè)虛擬相機(stakeout),分別對Ф5的平面和Ф10的平面進(jìn)行標定,這樣就能得到精確的結果。

4 虛擬相機的一個(gè)標定

在機器視覺(jué)中,有時(shí)候多個(gè)虛擬相機(stakeout)可能只對一個(gè)平面進(jìn)行測量或檢測,或者多個(gè)相機所測量或檢測的物體與相機的CCD平面距離相等,此時(shí)如果對每一個(gè)虛擬相機都進(jìn)行標定將很耗時(shí),這種情況下,Sherlock可以只對一個(gè)虛擬相機進(jìn)行標定,以使多個(gè)虛擬相機可利用同一標定進(jìn)行測量或檢測。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>