日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

相机标定实用方案

發(fā)布時間:2023/11/28 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 相机标定实用方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

相機(jī)標(biāo)定實用方案

相機(jī)標(biāo)定就是確定相機(jī)內(nèi)參和外參的過程,其結(jié)果精度會直接影響視覺系統(tǒng)后續(xù)工作的準(zhǔn)確性。

一.OPENCV方法

在opencv中提供了一組函數(shù)用于實現(xiàn)相機(jī)的標(biāo)定,標(biāo)定返回的值包括:相機(jī)內(nèi)參矩陣(fx
fy xc yc)、相機(jī)外參矩陣(R t)以及畸變矩陣。

標(biāo)定的步驟如下:

  1. 準(zhǔn)備棋盤格,棋盤格圖片可以自行打印,以下使用107方格的棋盤格,交點則為96,棋盤格的大小1mm,即 gridsize=1

  2. 拍照,拍照的原則是多角度,根據(jù)理論至少要兩種角度的拍照,實際中通常會拍20張左右;

  3. 使用opencv提供的角點檢測函數(shù)findChessboardCorners找到棋盤格中的角點,并將每幅圖片的角點值存放到list中,同時將棋盤格的角點的三維坐標(biāo)存放到另一個list。

  4. 使用calibrateCamera函數(shù)獲取內(nèi)存矩陣、畸變矩陣、旋轉(zhuǎn)矩陣以及轉(zhuǎn)移矩陣。

5.使用undistort函數(shù)將畸變的圖像進(jìn)行校正并查看校正后的圖片效果。

下面我們用另外的方法,詳細(xì)介紹流程。

二.坐標(biāo)系

相機(jī)標(biāo)定涉及到了四大坐標(biāo)系,分別為:

像素坐標(biāo)系

圖像物理坐標(biāo)系

相機(jī)坐標(biāo)系

世界坐標(biāo)系



為了進(jìn)行相機(jī)標(biāo)定,必須已知世界坐標(biāo)系中足夠多的三維空間點坐標(biāo),找到這些空間點在圖像中投影點的二維圖像坐標(biāo),并建立對應(yīng)關(guān)系。世界坐標(biāo)系中某個給定點投影到圖像坐標(biāo)系中被分為兩個步驟:

機(jī)器視覺中常用的有兩種不同類型的鏡頭:普通鏡頭和遠(yuǎn)心鏡頭。使用普通鏡頭時,世界坐標(biāo)系到圖像坐標(biāo)系為透視投影;使用遠(yuǎn)心鏡頭時為平行投影。

三.相機(jī)標(biāo)定方法分類

相機(jī)標(biāo)定方法有:傳統(tǒng)相機(jī)標(biāo)定法、主動視覺相機(jī)標(biāo)定法、相機(jī)自標(biāo)定法。

  1. Tsai兩步法是先線性求得相機(jī)參數(shù),之后考慮畸變因素,得到初始的參數(shù)值,通過非線性優(yōu)化得到最終的相機(jī)參數(shù)。Tsai兩步法速度較快,但僅考慮徑向畸變,當(dāng)相機(jī)畸變嚴(yán)重時,該方法不適用。

  2. 張氏標(biāo)定法使用二維方格組成的標(biāo)定板進(jìn)行標(biāo)定,采集標(biāo)定板不同位姿圖片,提取圖片中角點像素坐標(biāo),通過單應(yīng)矩陣計算出相機(jī)的內(nèi)外參數(shù)初始值,利用非線性最小二乘法估計畸變系數(shù),最后使用極大似然估計法優(yōu)化參數(shù)。該方法操作簡單,而且精度較高,可以滿足大部分場合。詳細(xì)原理見《從零開始學(xué)習(xí)「張氏相機(jī)標(biāo)定法」(一)成像幾何模型》。

  3. 基于主動視覺的相機(jī)標(biāo)定法是通過主動系統(tǒng)控制相機(jī)做特定運動,利用控制平臺控制相機(jī)發(fā)生特定的移動拍攝多組圖像,依據(jù)圖像信息和已知位移變化來求解相機(jī)內(nèi)外參數(shù)。這種標(biāo)定方法需要配備精準(zhǔn)的控制平臺,因此成本較高。

  4. 分層逐步標(biāo)定法是先對圖像的序列做射影重建,在重建的基礎(chǔ)上進(jìn)行放射標(biāo)定和歐式標(biāo)定,通過非線性優(yōu)化算法求得相機(jī)內(nèi)外參數(shù)。由于初始參數(shù)是模糊值,優(yōu)化算法收斂性不確定。

  5. 基于Kruppa的自標(biāo)定法是通過二次曲線建立關(guān)于相機(jī)內(nèi)參矩陣的約束方程,至少使用3對圖像來標(biāo)定相機(jī)。圖像序列長度會影響標(biāo)定算法的穩(wěn)定性,無法保證射影空間中的無窮遠(yuǎn)平面。

四.MATLAB相機(jī)標(biāo)定應(yīng)用程序

MATLAB自帶相機(jī)標(biāo)定應(yīng)用程序,有camera calibrator和stereo camera calibrator兩類相機(jī)標(biāo)定應(yīng)用程序。其操作簡單、直觀,能夠獲得相機(jī)的內(nèi)、外參數(shù)以及畸變參數(shù)等。

其中,camera calibrator用于單目相機(jī)標(biāo)定;stereo camera calibrator用于雙目相機(jī)標(biāo)定。兩者操作方式相同,唯一區(qū)別在于stereo camera calibrator添加圖片時會彈出添加兩個相機(jī)圖片的操作框。

五.標(biāo)定板準(zhǔn)備(實驗室經(jīng)費有限,只能自己制作)

平面標(biāo)定板具有以下幾個優(yōu)點:

  1. 易于操作;

  2. 尺寸可以制作的非常精確;

  3. 非常方便應(yīng)用在背光照明應(yīng)用中,只需要使用透明材料制作放置標(biāo)志點的底盤即可。

使用MATLAB編程進(jìn)行棋盤標(biāo)定板的制作,將圖片打印后固定在一塊平板上。程序如下:

J = (checkerboard(300,3,4)>0.5); %生成黑白棋盤圖像

figure, imshow(J) %顯示黑白棋盤圖像

imwrite(J,‘plate.jpg’);%保存黑白棋盤圖像

效果如圖:(感覺有點寒酸呀,“但這不重要”,沒條件自己創(chuàng)造)

六.Camera Calibrator應(yīng)用程序

camera
calibrator操作界面如下:

對于標(biāo)定圖像數(shù)量,位姿越多,標(biāo)定結(jié)果也會越精確,建議在10到20幅之間。按照上圖中的1、2、3進(jìn)行相機(jī)標(biāo)定操作。我們可以選擇徑向畸變系數(shù)以及是否計算切向畸變和傾斜,通過優(yōu)化選項可以設(shè)置內(nèi)參矩陣以及徑向畸變參數(shù)的輸出形式。

1.添加標(biāo)定圖像后顯示界面如下圖:

2.相機(jī)標(biāo)定后顯示界面會顯示相機(jī)與標(biāo)定板之間的位置關(guān)系。

3.相機(jī)參數(shù)輸出camera calibrator應(yīng)用程序相機(jī)標(biāo)定參數(shù)輸出如圖所示:

高亮:MATLAB相機(jī)標(biāo)定結(jié)果中的內(nèi)參矩陣默認(rèn)格式為,其中,、分別為u軸和v軸的有效焦距;’ 為u軸和v軸的不垂直因子,一般令s=0;(u0,v0)是光學(xué)中心。注意事項:

  1. 制作棋盤格標(biāo)定板時,黑色方格與白色方格尺寸需要相同,所有方格尺寸一致;

  2. 采集標(biāo)定板圖像時,應(yīng)采集多幅不同位姿的標(biāo)定板圖像,采集圖像數(shù)量不應(yīng)太少,建議10~20幅為宜;

  3. 采集圖像時,相機(jī)的焦距不能調(diào)節(jié),否則會改變相機(jī)的內(nèi)參數(shù),導(dǎo)致標(biāo)定失敗;

  4. MATLAB相機(jī)標(biāo)定程序能夠自動計算重投影誤差,重投影誤差越小表示相機(jī)標(biāo)定的精度越高。

七.相機(jī)標(biāo)定參數(shù)的準(zhǔn)確度

相機(jī)標(biāo)定過程中如果標(biāo)定板放置不適當(dāng)?shù)脑拰?dǎo)致相機(jī)參數(shù)中某個參數(shù)或某些參數(shù)不能得到唯一值。為了得到高準(zhǔn)確度的相機(jī)參數(shù)必須避免這種情況的發(fā)生。除了這個影響外,影響相機(jī)參數(shù)準(zhǔn)確度的主要因素就是用于進(jìn)行相機(jī)標(biāo)定的圖像數(shù)量。下面顯示了用于相機(jī)標(biāo)定的圖像數(shù)量對參數(shù)的影響。

從圖中可以看出相機(jī)參數(shù)的準(zhǔn)確度隨使用圖像數(shù)量的增加而明顯增加。為什么使用相當(dāng)多的標(biāo)定圖像可以提高相機(jī)標(biāo)定精度?這主要是因為相機(jī)參數(shù)之間存在不容忽視的相關(guān)性,這些參數(shù)只能通過多次無關(guān)測量進(jìn)行求解。為了得到更準(zhǔn)確的相機(jī)參數(shù),我們需要這樣做:

  1. 標(biāo)定板在圖像中最好能夠覆蓋整個視野(覆蓋圖像的每個角落可以使得徑向畸變系數(shù)更準(zhǔn)確);

  2. 標(biāo)定板覆蓋較大的深度范圍(將標(biāo)定板繞它的x軸和y軸旋轉(zhuǎn)或者放置在不同距離的位置上)。

總結(jié)

以上是生活随笔為你收集整理的相机标定实用方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。