カメラキャリブレーションを実装

カメラキャリブレーション周りの関数を大体実装し終えました。一応後学の為軽くまとめておきます。


キャリブレーションの著名な手法であるZhangの手法では、まず以下のようなパターン画像を、何枚か色々な方向から撮影します。

これをOpenCVに渡してコーナー検出 (cvFindChessboardCorners, cvFindCornerSubPix)。

これをもう何十枚かやるとカメラのパラメータが大体正確にわかります。そして、

こういう写真を渡すと、

このように歪みが補正できます(cvCalibrateCamera2, cvFindExtrinsicCameraParams2, cvUndistort2)。でもこの場合パターンを3枚しか使ってなかったので余計歪んでる気もしますが。