Ошибка матрицы калибровки стерео OpenCV

Я пытаюсь откалибровать стереокамеру с помощью OpenCV 2.4.9, и у меня возникает ошибка при вызове stereoCalibrate,

Ниже приведены изображения, которые я использую. (с некоторыми странными расцветками глюки любезно предоставлены MS Paint). Три изображения сверху — с левой камеры, а три снизу — с правой камеры. Обратите внимание, что я использовал еще несколько пар изображений, и изображения на самом деле не такие маленькие, они имеют размер 640×480; Тем не менее, я сократил их и пропустил некоторые, так что этот пост не имеет длину 935837 миль.

Пример входных изображений:
Пример калибровки Images.png

OpenCV находит углы шахматной доски просто отлично. Я отображаю их, используя drawChessboardCornersи они выглядят правильно. Так что это не проблема.

Затем я калибрую каждую камеру отдельно, используя calibrateCamera, Я показываю изображения, которые передаются, хотя undistort используя матрицы с помощью calibrateCameraи результат, кажется, немного корректирует искажения объектива.

Неискаженный на основе результатов calibrateCamera:
Нерассортировано по выводу calibrateCamera

Та же ошибка возникает, если я опускаю calibrateCamera шаг и настроить флаги stereoCalibrate соответственно (замените CV_CALIB_FIX_INTRINSIC флаг с CV_CALIB_SAME_FOCAL_LENGTH | CV_CALIB_ZERO_TANGENT_DIST)

Далее я звоню stereoCalibrateи я получаю эту ошибку:

OpenCV Error: Assertion failed (dims == 2 && (sizes[0] == 1 || sizes[1] == 1 || sizes[0]*sizes[1] == 0))
in create, file c:/Users/s-foxk/Documents/libs/opencv/sources/modules/core/src/matrix.cpp, line 1564

...Generic Widnows Garbage...

terminate called after throwing an instance of 'cv::Exception'
what():  c:/Users/s-foxk/Documents/libs/opencv/sources/modules/core/src/matrix.cpp:1564:
error: (-215) dims == 2 && (sizes[0] == 1 || sizes[1] == 1 || sizes[0]*sizes[1] == 0) in function create

В течение последних нескольких часов я искал решение этой проблемы и информацию об этой ошибке, а также об изменении маленьких кусочков моего кода. Все, к сожалению, безрезультатно. Кажется, очень мало информации об этой ошибке или, может быть, только об этой ситуации.

Что означает эта ошибка? Как я могу избавиться от этого? Мне пришло в голову, что шахматная доска может быть слишком далеко, учитывая разрешение камеры 640×480. Может ли это быть проблемой?

Если кто-то захочет увидеть часть или весь мой код, я с радостью создам для него вставку, но я не решаюсь выложить ее здесь, поскольку она длинная и безобразная.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]