2016-12-02 20 views
0

私は2D-3D対応点の集合を持っており、これらの点に基づいてカメラを較正したいと思います。 3D点は平面ではないので、opencv CameraCalibration関数は実行時エラーを返します。誰もが問題を解決するための解決策を知っていますか?2D-3D対応点の集合からのカメラ較正

OpenCVのエラー:不正な引数(非平面キャリブレーションは、初期固有行列が指定されている必要がありリグについて)cvCalibrateCamera2で、ファイル/build/opencv-SviWsf/opencv-2.4.9.1+dfsg/modules/calib3d/src/calibration .cppファイル、ライン1592

おかげ

+0

最も簡単な答えは、[OpenCVの公式文書](http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html)に示されているように、チェス盤の平面点を使用することです。関数calibratecameraは、ガイドに書かれているように、findChessboardCornerで「平面」コーナーを見つけた後に機能するように設計されています。これをやりたくない場合は、より具体的にして、あなたの投稿を投稿し、ポイントがどのように生成されるかを指定する必要があります。 – marcoresk

答えて

0

その後は、最初の組み込み関数を設定してみてください。焦点距離(fx、fy)は、レンズ焦点距離(mm)/(イメージセンサのピクセルサイズ(mm))を使用します。 cx、cyについては、イメージの中心を設定します。センサーに640×480ピクセルがある場合は、(320,240)を設定します。 安価なウェブカメラであればイメージセンサーの仕様を見つけるのが難しいかもしれませんが、産業用のマシンビジョンカメラであれば簡単です。

0

OpenCV較正では、同一平面上の点が必要です。あなたは、2Dの利点取りたい場合は

- 3D対応を、あなたは、DLTカメラキャリブレーション方法または同等の方法を使用することができるように、次のツールボックスに含まれる:特にCalTech Camera Calibration Toolbox

Heikkilを見てどこのことができます。非平面リグからカメラを調整します。

関連する問題