Не могу использовать класс OpenCV GeneralizedHoughTransform с Python - PullRequest
2 голосов
/ 03 апреля 2019

Я пытаюсь закодировать базовый пример использования класса GeneralizedHoughBallard, используя OpenCV 4.0.0 и Python 3.6. Я нашел пример для 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. Я пытался использовать другую аналогичную функцию, которая объявлена ​​в тот же файл (impc.hpp), например: cv2.createCLAHE () и отлично работает.

В чем может быть проблема?

1 Ответ

1 голос
/ 03 апреля 2019

Видимо, это называется просто 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']
...