Я пытаюсь использовать StereRectifyUncalibrated в OpenCV 4.1.1. Код выглядит следующим образом.
points1 = np.array([[2566, 542], [2567, 848], [2569, 947],
[3154, 452], [3158, 934],
[4061, 332], [4069, 576]])
points2 = np.array([[277, 471], [290, 774], [296, 868],
[794, 393], [816, 830],
[1472, 310], [1480, 510]
])
F, mask = cv2.findFundamentalMat(points1, points2)
ret, H1, H2 = cv2.stereoRectifyUncalibrated(points1, points2, F, imgSize=(4112, 1200))
Он генерирует ошибку следующим образом.
error Traceback (most recent call last)
---> 11 ret, H1, H2 = cv2.stereoRectifyUncalibrated(points1, points2, F, imgSize=(4112, 1200))
error: OpenCV(4.1.1) /home/hao/workspace/opencv/modules/core/src/convert_c.cpp:112: error: (-215:Assertion failed) src.size == dst.size && src.channels() == dst.channels() in function 'cvConvertScale'
Как сказано в документе "points2 Соответствующие точки на втором изображении. Те же форматы, что и наfindFundamentalMat поддерживаются. "(https://docs.opencv.org/4.1.1/d9/d0c/group__calib3d.html#gaadc5b14471ddc004939471339294f052). Понятия не имею, что происходит. Заранее спасибо!