2011-09-12 27 views
2

私は関数cv :: calibrateCamera()からcameraMatrixを取得しようとしていますが、実際には正しく行ったかどうかわかりませんが、私の最初のアイデアは:cv :: calibrateCamera()の呼び出しに失敗しました

  1. 同じカメラからの2つの入力画像を取得します。
  2. IMAGE_1とIMAGE_2
  3. 使用CVからの全ての特徴点を抽出:: calibrateCamera()ここでcameraMatrix(それが仕事やないかどうかわからない)

がやっての私のコードで取得するにはそれ:

calling calibrateCamera()

コンパイルかなりうまく通り抜けたが、私はそれを実行したとき、それは例外がスローされます言った:

OpenCV Error: Assertion failed (i < 0) in create, file /home/hjbolide/OpenCV-2.3.1/modules/core/src/matrix.cpp, line 1198 terminate called after throwing an instance of 'cv::Exception'
what(): /home/hjbolide/OpenCV-2.3.1/modules/core/src/matrix.cpp:1198: error: (-215) i < 0 in function create

私が言ったように、私はこの方法を試していて、cameraMatrixを取得しようとしました。どこが間違っているのか分かりません。助言がありますか?

ありがとうございました。

+0

私はこのサンプルアプリケーションから始めてそこから作業します –

答えて

5

私にも同様の問題がありました。 C++インターフェイスを使用するためにLearning OpenCVブックのCキャリブレーションサンプルを移植し、あなたが見た正確なエラーを見ていました。私はrvecとtvecをstd::vector<cv::Mat>に変更し、校正を行った。 2.3のドキュメントは、OutputArrayOfArraysとしてrvecとtvecの両方をマークすることに注意してください。

+0

これはOpenCV 2.4.6の場合でも同じです。 –