<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 機(jī)器視覺軟件Sherlock的應(yīng)用――標(biāo)定

          機(jī)器視覺軟件Sherlock的應(yīng)用――標(biāo)定

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

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

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

          相機(jī)所拍攝圖像的坐標(biāo)系并不是用戶實(shí)際需要的坐標(biāo)系,因此需要將坐標(biāo)系轉(zhuǎn)換成用戶需要的坐標(biāo)系。

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

          1 相機(jī)標(biāo)定工作原理

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

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

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

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

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

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

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

          2 相機(jī)標(biāo)定的步驟

          圖2是標(biāo)定主頁圖。相機(jī)標(biāo)定的一般步驟如下:

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

          (2)在策略窗口樹的頂部雙擊子程序圖標(biāo),Sherlock顯示子程序編輯對(duì)話框。

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

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

          (5)通過使用菜單命令(Stakeout | Options)顯示默認(rèn)的相機(jī)坐標(biāo)柵格,在坐標(biāo)柵格下方選擇“Lines",然后點(diǎn)擊OK按鈕退出對(duì)話框。

          圖2

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

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

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

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

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

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

          3 單個(gè)相機(jī)多個(gè)標(biāo)定

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

          4 虛擬相機(jī)的一個(gè)標(biāo)定

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



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();