外部パラメータのみのキャリブレーションを行う
座標の対応から外部パラメータのみを推定する
#geshi(c++,number){{
const int patternX = 4; const int patternY = 5; CvCapture *camera; IplImage *image; CvPoint2D32f *corners;
camera = cvCaptureFromCAM(-1); // カメラ初期化
image = cvQueryFrame(camera); // 画像取得
corners = new CvPoint2D32f [patternX*patternY];
// 座標格納用配列
cvFindChessboardCorners(image, cvSize(patternX, patternY), corners);
// 点検出
// 画像座標行列を作成
for(int i = 0;i < patternX*patternY;i++){
cvSetReal2D(pointsMatrix, i, 0, corners[i].x);
cvSetReal2D(pointsMatrix, i, 1, corners[i].y);
}
cvFindExtrinsicCameraParams2(world_points, pointsMatrix, intrinsicParameters, distortionParameters, rotationParameters, translationParameters);
// 外部パラメータ計算
cvReleaseCapture(&camera); // 解放
delete [] corners; // 解放
}}
ジャンル:OpenCV:OpenCV 1.0準拠