FC2カウンター FPGAの部屋 OpenCV 2.4.10 の stereo_calib.cpp を自分のカメラ画像でやってみた2

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

OpenCV 2.4.10 の stereo_calib.cpp を自分のカメラ画像でやってみた2

”OpenCV 2.4.10 の stereo_calib.cpp を自分のカメラ画像でやってみた1”の続き。

前回は自分で作ったチェスボードを使ってステレオカメラのキャリブレーションをしようとしたら、チェスボードの左目カメラ画像と右目カメラ画像のペアを認識してくれなかった。今回は、チェスボードを変更してみたら、ペアを認識してくれたが、ステレオカメラのキャリブレーションがまだおかしい。

さて、いろいろとチェスボードの位置や大きさを変更して、stereo_calib を実行したが、上手くペアを認識してくれない。それではチェスボードがおかしいのだろうか?ということで、背景だけの画像ファイルにOpenCV のサンプルのチェスボードだけをコピー&ペーストしたものを混ぜてみたら、見事それはペアと認識されているようだった。

やはり、チェスボードのパターンが重要のようだった。ちなみに、stereo_calib のオプションで -w がチェスボードのコマの横の数、-h が縦の数を指定できるので、指定していたのだが、やはりペアと認識してくれなかった。

OpenCV のサンプルで使用されているチェスボードを作ることにした。
stereo_calib_62_160311.png

それで、チェスボードの画像を撮影した。取りあえず、3ペア撮影した。その内の最初のペアを下に示す。
stereo_calib_63_160311.jpg

グレースケール、640 x 480 ピクセルに変換した。
stereo_calib_64_160311.jpg

./stereo_calib コマンドを実行した。
3ペアを認識してくれた。。。
stereo_calib_65_160311.png

しかし、rectified ウインドウは真っ黒だった。
stereo_calib_66_160311.png

OpenCVのサンプルだと、左目カメラ画像と右目カメラ画像が表示されていた。
stereo_calib_7_160220.png

./stereo_calib コマンドが終了すると、extrinsics.yml と intrinsics.yml ができていた。
stereo_calib_67_160311.png

次に、stereo_match.cpp を使用して、2つのキャリブレーション・ファイルを入力して、左目カメラ画像と右目カメラ画像を補正してみた。(参考URLは、”OpenCV 2.4.10 の stereo_match.cpp をやってみた”と”OpenCV 2.4.10 の stereo_match.cpp をやってみた2”)

./stereo_match -i intrinsics.yml -e extrinsics.yml left0.jpg right0.jpg
を実行した。
stereo_calib_68_160312.png

結果を下に示す。やはりおかしい。
stereo_calib_69_160312.jpg

./stereo_match -i intrinsics.yml -e extrinsics.yml left1.jpg right1.jpg
も実行してみたが、やはりおかしい。
stereo_calib_70_160312.jpg
  1. 2016年03月11日 05:23 |
  2. ステレオカメラによる画像解析
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3416-c908bb01
この記事にトラックバックする(FC2ブログユーザー)