简体   繁体   English

如何在Python中使用OpenCV GeneralizedHoughTransform类?

[英]How to use OpenCV GeneralizedHoughTransform class with Python?

I'm trying to code a basic example of use of GeneralizedHoughBallard class using OpenCV 3.4.1 and Python 3.7.1 我正在尝试使用OpenCV 3.4.1和Python 3.7.1编写使用GeneralizedHoughBallard类的基本示例

When I try to create a new instance of GeneralizedHoughBallard class: 当我尝试创建GeneralizedHoughBallard类的新实例时:

import cv2
alg = cv2.createGeneralizedHoughBallard()

I get the error: 我得到错误:

AttributeError: module 'cv2.cv2' has no attribute 'createGeneralizedHoughBallard' AttributeError:模块“ cv2.cv2”没有属性“ createGeneralizedHoughBallard”

Also I've tried to show all the Hough-methods: 我也试图展示所有霍夫方法:

print([x for x in dir(cv2) if 'Hough' in x])

And the result: ['HoughCircles', 'HoughLines', 'HoughLinesP', 'HoughLinesPointSet'] 结果为: ['HoughCircles', 'HoughLines', 'HoughLinesP', 'HoughLinesPointSet']
So I haven't the basic functions. 所以我没有基本功能。 How can I import it? 如何导入? Is it possible? 可能吗?

It seems OpenCV 3.4.1 does not have it. 看来OpenCV 3.4.1没有它。 In OpenCV v4.0.X its called GeneralizedHoughBallard . 在OpenCV v4.0.X中,它称为GeneralizedHoughBallard You may want to update your OpenCV version. 您可能要更新您的OpenCV版本。

python -m pip install --upgrade opencv-python

Checking the Hough-methods: 检查霍夫方法:

import cv2
print(cv2.__version__)
print([x for x in dir(cv2) if 'Hough' in x])

4.0.0.21 4.0.0.21

['GeneralizedHough', 'GeneralizedHoughBallard', 'GeneralizedHoughGuil', 'HoughCircles', 'HoughLines', 'HoughLinesP', 'HoughLinesPointSet'] ['GeneralizedHough','GeneralizedHoughBallard','GeneralizedHoughGuil','HoughCircles','HoughLines','HoughLinesP','HoughLinesPointSet']

It might not be totally supported in Python, please check it here opencv forum link Python可能不完全支持它,请在此处检查它opencv论坛链接

But somehow possible to do it by rebuilding opencv and dealing with CV_EXPORTS_W 但是可以通过重建opencv并处理CV_EXPORTS_W

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM