我正在尝试使用OpenCV 3.4.1和Python 3.7.1编写使用GeneralizedHoughBallard类的基本示例
当我尝试创建GeneralizedHoughBallard类的新实例时:
import cv2
alg = cv2.createGeneralizedHoughBallard()
我收到错误:
AttributeError:module'cv2.cv2'没有属性'createGeneralizedHoughBallard'
我也试图展示所有Hough方法:
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 forum link
但不知何故,可以通过重建opencv和处理CV_EXPORTS_W
来实现