気付けば夏休みも半分以上終わっています。
今日は、OpenCVでのカメラキャリブレーションについてです。
・なにをやりたかったか
二か月前の記事ですが、こんなものを作っていました。
で、現在、「ある一点からみて透けて見える」というものから「どの点からみても透けて見える」というのにグレードアップさせようとしています。
つまり、目の位置をとってくる必要があるということです。
目の位置をとってくるというのはカメラの位置をとってくるのと同じなので、今回、カメラキャリブレーションを行うことになりました。
・やったこと
その1
チェスボードを使って、カメラの内部パラメータを求めました。
チェスボードを用いて、座標を設定します。
こちらのサンプルコードを使いました。
opencv.jp – OpenCV: カメラキャリブレーション(Camera Calibration)サンプルコード –
見てもらうと分かるように、今回使用したカメラはかなり歪が大きいので、次に、今回求めた歪係数ベクトルをもとに歪補正をかけました。
これも上のサイトのサンプルコードを使いました。
このように、歪を補正することができました。
今後は、solvePnP関数を用いて、外部パラメータを求めて、その外部パラメータを基にホモグラフィ行列を求めて、どこからみても透明に見えるディスプレイを作ります。