我正在尝试使用 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:模块‘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() 并且工作正常。
可能是什么问题?
最佳答案
显然它被称为 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']
关于python-3.x - 不能将 OpenCV GeneralizedHoughTransform 类与 Python 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55490923/