Я использую OpenCV3.1 с python 2.7 для калибровки и исправления настройки стереокамеры. Когда я пытаюсь применить выпрямления и undistortion матрицы к изображению с помощью cv2.remap(), я получаю следующее сообщение об ошибке:OpenCV 3.1 Функция Remap Тип Значение Значение
Traceback (most recent call last):
File "C:\University\Year3\Third Year Project - Gaze Correction\EclipseWorkspace\PythonTest\videoCap.py", line 36, in <module>
stereoCalib.rectify(frames)
File "C:\University\Year3\Third Year Project - Gaze Correction\EclipseWorkspace\PythonTest\Calibrator.py", line 137, in rectify
borderMode=cv2.BORDER_CONSTANT)
TypeError: an integer is required
Мой код заключается в следующем:
new_frames = []
new_img=[]
for i, side in enumerate(("left", "right")):
new_img = cv2.remap(frames[i],
new_img,
self.undistortion_map[side],
self.rectification_map[side],
cv2.INTER_CUBIC,
borderMode=cv2.BORDER_CONSTANT)
new_frames.append(new_img)
Я пробовал настройки INTER_CUBIC и BORDER_CONSTANT как int (1) и int (0) взаимозаменяемо. Я также добавил скаляр np.zeros (3) в конце, но ошибка осталась неизменной во всех моих попытках.