我正在尝试编写一个使用 OpenCV 3.4.1 和 Python 3.7.1 使用 GeneralizedHoughBallard 类的基本示例
当我尝试创建 GeneralizedHoughBallard 类的新实例时:
import cv2
alg = cv2.createGeneralizedHoughBallard()
我收到错误:
属性错误:模块"cv2.cv2"没有属性"createGeneralizedHoughBallard">
我也试图展示所有的霍夫方法:
print([x for x in dir(cv2) if 'Hough' in x])
结果是:['HoughCircles', 'HoughLines', 'HoughLinesP', 'HoughLinesPointSet']
所以我没有基本功能。如何导入它?可能吗?
OpenCV 3.4.1似乎没有它。在OpenCV v4.0.X中,它被称为GeneralizedHoughBallard
。您可能需要更新您的 OpenCV 版本。
python -m pip install --upgrade opencv-python
检查霍夫方法:
import cv2
print(cv2.__version__)
print([x for x in dir(cv2) if 'Hough' in x])
4.0.0.21
['GeneralizedHough', 'GeneralizedHoughBallard', 'GeneralizedHoughGuil', 'HoughCircles', 'HoughLines', 'HoughLinesP', 'HoughLinesPointSet']
它可能在 Python 中不完全受支持,请在此处查看OpenCV论坛链接
但不知何故可以通过重建 opencv 并处理CV_EXPORTS_W
来做到这一点