OpenCV 4.7.0 中未找到 cv2.aruco.CharucoBoard_create

And*_*ndy 7 python opencv

我已经安装了 opencv-python-4.7.0.68 和 opencv-contrib-python-4.7.0.68

下面的代码给我以下错误:
AttributeError: module 'cv2.aruco' has no attribute 'CharucoBoard_create'

示例代码:

import cv2

aruco_dict = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_4X4_50)
board = cv2.aruco.CharucoBoard_create(11, 8, 0.015, 0.011, aruco_dict)
Run Code Online (Sandbox Code Playgroud)

Dan*_*šek 8

这是由于4.7.0 版本中发生的更改,当时 Aruco 代码从 contrib 移至主存储库。

构造函数cv2.aruco.CharucoBoard_create已重命名为cv2.aruco.CharucoBoard,并且其参数列表已略有更改 - 您应该传入一个具有两个值(表示大小)的元组,而不是前两个squaresX整数squaresY参数 和 。(注意:文档似乎缺少 Python 构造函数的签名。错误报告已提交。)

所以,你的代码应该是这样的:

import cv2

aruco_dict = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_4X4_50)
board = cv2.aruco.CharucoBoard((11, 8), 0.015, 0.011, aruco_dict)
Run Code Online (Sandbox Code Playgroud)