步驟:
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對映作用到影象上 形成無畸變...