不能在Python中使用OpenCV GeneralizedHoughTransform类

问题描述 投票:2回答:1

我正在尝试使用OpenCV 4.0.0和Python 3.6编写使用GeneralizedHoughBallard类的基本示例。我在这里找到了一个关于C ++的例子https://github.com/opencv/opencv/blob/4.0.0/samples/gpu/generalized_hough.cpp但是没有找到Python的例子。

当我尝试创建GeneralizedHoughBallard类的新实例时:

import cv2
alg = cv2.createGeneralizedHoughBallard()

我得到错误:“AttributeError:module'cv2.cv2'没有属性'createGeneralizedHoughBallard”。

我在OpenCV源代码(https://github.com/opencv/opencv/blob/4.0.0/modules/imgproc/include/opencv2/imgproc.hpp)中看到createGeneralizedHoughBallard是用CV_EXPORTS声明的,所以我想它应该可以用于Python。我试图使用在同一个文件(improc.hpp)中声明的另一个类似的函数,例如:cv2.createCLAHE()并且工作正常。

可能是什么问题呢?

python-3.x opencv hough-transform
1个回答
1
投票

显然它被称为GeneralizedHoughBallard

import cv2
print([x for x in dir(cv2) if 'Hough' in x])
print([x for x in dir(cv2) if x.startswith('create')])
['GeneralizedHough',
 'GeneralizedHoughBallard',
 'GeneralizedHoughGuil',
 'HoughCircles',
 'HoughLines',
 'HoughLinesP',
 'HoughLinesPointSet']
['createAffineTransformer',
 'createAlignMTB',
 'createBackgroundSubtractorKNN',
 'createBackgroundSubtractorMOG2',
 'createButton',
 'createCLAHE',
 'createCalibrateDebevec',
 'createCalibrateRobertson',
 'createChiHistogramCostExtractor',
 'createEMDHistogramCostExtractor',
 'createEMDL1HistogramCostExtractor',
 'createHanningWindow',
 'createHausdorffDistanceExtractor',
 'createLineSegmentDetector',
 'createMergeDebevec',
 'createMergeMertens',
 'createMergeRobertson',
 'createNormHistogramCostExtractor',
 'createShapeContextDistanceExtractor',
 'createThinPlateSplineShapeTransformer',
 'createTonemap',
 'createTonemapDrago',
 'createTonemapDurand',
 'createTonemapMantiuk',
 'createTonemapReinhard',
 'createTrackbar']
© www.soinside.com 2019 - 2024. All rights reserved.