В настоящее время я настраиваю код на моем компьютере для получения 3d-очков из 2d-баллов из настроек стереокамеры с двумя камерами (прокомментируйте мой код, если он неправильный, но это не вопрос).Я хочу импортировать cv.StereoRectify для получения матриц проекции, но я получаю сообщение об ошибке, что эта функция не может быть найдена в пакете.
Я думаю, что я могу использовать неправильный пакет.Я скачал как нормальную, так и версию contrib opencv 4.1.Я запускаю Python 3.7 64-bit
Ссылка на функцию, которую я пытаюсь импортировать: https://docs.opencv.org/4.1.0/d9/d0c/group__calib3d.html#ga617b1685d4059c6040827800e72ad2b6
Есть примеры, когда cv обменивается с cv2, я тоже пробовал:https://www.programcreek.com/python/example/89312/cv2.stereoRectify
import cv2
left_cam = [
[523.767345904798, 0.0, 268.20033902081417],
[0.0, 550.2332063123357, 232.55503628081783],
[0.0, 0.0, 1.0]
]
left_dist = [0.18999914119422034, -1.1006674853253424, -0.0037412308565715193, 0.023153597402935818, 1.7303232709773213]
right_cam = [
[538.1299316757662, 0.0, 349.4715067576933],
[0.0, 544.3638349123668, 240.18753969060498],
[0.0, 0.0, 1.0]
]
right_dist = [0.12126236480318829, -0.14032072749598928, -0.006271304663061128, 0.01641265601395131, -0.02049471257256062]
tx = 286.07359237108625
proj = cv2.StereoRectify(
left_cam,
right_cam,
left_dist,
right_dist,
(1920, 1080)
)
Теоретически пакет должен включать эту функцию, но я получаю сообщение об ошибке, что атрибут не существует:
File ".\get_projection_matrix.py", line 23, in <module>
proj = cv.StereoRectify(
AttributeError: module 'cv2.cv2' has no attribute 'StereoRectify'
Я попытался дискретно выполнить следующие операции импорта:
import cv2
import cv2 as cv (this should definitely not work)
from cv2 import cv