OpenCVでステレオマッチング

かなりの今更感はさておき、OpenCV でステレオ画像による深度計算をやっています。
環境
- LMDE2 64bit
- OpenCV2
- Python2.7
スクリプト
入力画像と深度計算の結果
cv2.StereoSGBM()
のパラメータをいじくり回したり、単眼のスマホカメラで撮影した入力画像の位置合わせをしたりしていると、それなりに深度が出るようになりました。
PCD 化
PCL(Point Cloud Library)のフォーマットである PCD 形式に変換し、pcl_viewer で確認します。
スクリプトのPCD化部分次のとおり。
pcl_viewer で開いたところ。
数百万円するレーザー計測器には到底及ばないものの、それなりにカラーボックスやその上に置いている箱の形状が出てますね! もっとフワフワな点群になるかと思っていたので、ちょっと予想外でした。
参考
- OpenCV: Camera Calibration and 3D Reconstruction
- 3D reconstruction from stereo images in Python
- Producing 3D point clouds with a stereo camera in OpenCV | Stackable
- OpenCV Stereo Matching の性能比較 1 – Daily Tech Blog
- Python+OpenCVでのカメラキャリブレーション有りステレオビジョンのサンプルコードなど – 蟹者
- Stereo Matching/Calibration Help – OpenCV Q&A Forum
- OpenCV、画像処理、コンピュータビジョン、3D点群処理、動いたやつをまとめていく。 – Qiita
- OpenCVのバージョン3が正式リリースされたぞ
4件のフィードバック