#python #python-2.7 #opencv #debian
Вопрос:
Я пытаюсь обнаружить маркеры Aruco через свою камеру, используя OpenCV для Python 2.7 в Debian 9.5, но я не могу запустить свой код из-за ошибки, связанной с cv2.aruco.detectMarkers()
. Запустив его в Windows, у него нет никаких проблем. В частности, я написал в своем коде:
cv2.aruco.detectMarkers(image=gray, dictionary=aruco_dict, parameters=parameters,
cameraMatrix=camera_matrix, distCoeff=camera_distortion)
где camera_matrix
и camera_distortion
соответственно матрица камеры и параметры искажения камеры, полученные при калибровке камеры.
Точнее, ошибка говорит о том, что для функции нет cameraMatrix
входного параметра cv2.aruco.detectMarkers
. Как мне решить эту проблему? Заранее большое вам спасибо.
Ответ №1:
Возможно, ваша ошибка связана с вашей opencv
версией. Проверьте это с помощью:
cv2.__version__
Более старые версии opencv
(например, 3.2.0, возможно, это ваша версия по умолчанию для Debian 9) не имеют cameraMatrix
или distCoeff
в качестве входных параметров cv2.aruco.detectMarkers
функции.
Если вы заинтересованы в получении более новых версий opencv
для вашей ОС (например, 4.1.0.25), вам необходимо сделать:
sudo pip install opencv-contrib-python==4.1.0.25
Если это не так, просто удалите cameraMatrix
и distCoeff
из ваших входных данных, он все равно запустится.