cvUndistort2

いよいよ補正。

void cvUndistort2( const CvArr* src, CvArr* dst,
                   const CvMat* intrinsic_matrix,
                   const CvMat* distortion_coeffs );

const CvArr* src //元画像
CvArr* dst //補正後画像
const CvMat* intrinsic_matrix // CalibrateCamera2で求めたやつ
const CvMat* distortion_coeffs // CalibrateCamera2で求めたやつ

dstも領域を確保しておく。

dst = cvCreateImage(cvSize(img->width,img->height),img->depth,img->nChannels);

以上で出来上がり。


チェスボード画像はいろいろな角度や向きのものを使うのがポイント。うまく画像を選ぶと5枚でも結構綺麗に補正できる。

似たような画像ばっかりでやると同じ5枚でも補正後に真っ黒になったりわけ分からんことになったりするのでいろいろ試してみると良い。

ランキング→