opencv 相機標定與矯正

2021-08-05 19:55:10 字數 1250 閱讀 5128

步驟:

1.確定基礎設定

//設定1 影象的尺寸

const

int nimagew = 2592;

const

int nimageh = 1944;

//設定2 棋盤x方向上角點數量

const

int nchessboardwidthcount = 7;

//設定3 棋盤y方向上角點數量

const

int nchessboardheightcount = 5;

cvsize szchessboardsize = cvsize(nchessboardwidthcount, nchessboardheightcount);

const

int nonechessboardcornercount = nchessboardwidthcount *nchessboardheightcount;

//設定4 讀取的影象名稱

char chfilename = "01.bmp";

//設定5 影象數量

const

int nimagecount = 23;

//設定6 棋盤格仔的邊長

float fsquaresize = 25.6;

2.獲取多角度的**,進行棋盤格角點檢測

運用cvfindchessboardcorners()以及cvfindcornersubpix()檢測角點

運用cvdrawchessboardcorners()繪製角點

3.將影象二維座標轉換成世界座標

cvprojectpoints2()計算三維點投影到二維影象平面上的座標

cvnorm()計算每幅的誤差

4.使用cvcalibratecamera2()獲取

mat intrinsic;                                          //相機內引數  

mat distortion_coeff; //相機畸變引數

vector

rvecs; //旋轉向量

vector

tvecs; //平移向量

5.使用cvundistort2()矯正畸變

OpenCV相機標定

include include include include 標頭檔案 include using namespace cv 包含cv命名空間 using namespace std 棋盤標靶中每塊的寬和高 int g height 100 int g width 100 int g innerh...

相機標定 OpenCV

使用opencv標定的好處 會自動生成乙個.xml檔案,方便使用。即換不同相機時候只用換這個檔案,而不需要改變 作業系統 ubuntu16.04 opencv版本 3.4.6 攝像頭 電腦自帶攝像頭 標定步驟 1 找到標定例程 進入opencv安裝目錄,找到samples cpp tutorial ...

0019 畸變矯正(單相機標定)

影象形狀發生了變形 本來是直線,變成了向內凹或者向外凸的弧線 1.使用標定板,在halcon中使用標定助手,得到相機的內外引數 可以將內外引數據生成到halcon中 2.標定後的初始內參形成無畸變的內參 3.標定後的初始內參與無畸變內參之間形成map對映關係 4.將map對映作用到影象上 形成無畸變...