2011-09-12 2 views
2

저는 cv :: calibrateCamera() 함수에서 cameraMatrix를 얻으려고합니다. 실제로 제대로했는지 여부는 확실하지 않습니다. 내 생각은 다음과 같습니다.cv :: calibrateCamera() 호출이 실패했습니다.

  1. 동일한 카메라에서 가져온 두 개의 입력 이미지를 가져옵니다.
  2. 이 IMAGE_1 및 IMAGE_2의 모든 특징점을 추출
  3. 사용 이력서는 :: calibrateCamera()는 cameraMatrix (이 일을하거나하지 않는다면 모르는)을 얻을 수
  4. 여기

는 일을 내 코드입니다 그것은 :

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 설명서에서는 rvec 및 tvec를 모두 OutputArrayOfArrays로 표시합니다.

+0

이것은 OpenCV 2.4.6에서도 마찬가지입니다. –

관련 문제