Hough Transform

Overview

// classes

class cv::cuda::HoughCirclesDetector;
class cv::cuda::HoughLinesDetector;
class cv::cuda::HoughSegmentDetector;

// global functions

Ptr<GeneralizedHoughBallard>
cv::cuda::createGeneralizedHoughBallard();

Ptr<GeneralizedHoughGuil>
cv::cuda::createGeneralizedHoughGuil();

Ptr<HoughCirclesDetector>
cv::cuda::createHoughCirclesDetector(
    float dp,
    float minDist,
    int cannyThreshold,
    int votesThreshold,
    int minRadius,
    int maxRadius,
    int maxCircles = 4096
    );

Ptr<HoughLinesDetector>
cv::cuda::createHoughLinesDetector(
    float rho,
    float theta,
    int threshold,
    bool doSort = false,
    int maxLines = 4096
    );

Ptr<HoughSegmentDetector>
cv::cuda::createHoughSegmentDetector(
    float rho,
    float theta,
    int minLineLength,
    int maxLineGap,
    int maxLines = 4096
    );

Detailed Documentation

Global Functions

Ptr<GeneralizedHoughBallard>
cv::cuda::createGeneralizedHoughBallard()

Creates implementation for generalized hough transform from [3].

Ptr<GeneralizedHoughGuil>
cv::cuda::createGeneralizedHoughGuil()

Creates implementation for generalized hough transform from [35].

Ptr<HoughCirclesDetector>
cv::cuda::createHoughCirclesDetector(
    float dp,
    float minDist,
    int cannyThreshold,
    int votesThreshold,
    int minRadius,
    int maxRadius,
    int maxCircles = 4096
    )

Creates implementation for cuda::HoughCirclesDetector.

Parameters:

dp Inverse ratio of the accumulator resolution to the image resolution. For example, if dp=1 , the accumulator has the same resolution as the input image. If dp=2 , the accumulator has half as big width and height.
minDist Minimum distance between the centers of the detected circles. If the parameter is too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is too large, some circles may be missed.
cannyThreshold The higher threshold of the two passed to Canny edge detector (the lower one is twice smaller).
votesThreshold The accumulator threshold for the circle centers at the detection stage. The smaller it is, the more false circles may be detected.
minRadius Minimum circle radius.
maxRadius Maximum circle radius.
maxCircles Maximum number of output circles.
Ptr<HoughLinesDetector>
cv::cuda::createHoughLinesDetector(
    float rho,
    float theta,
    int threshold,
    bool doSort = false,
    int maxLines = 4096
    )

Creates implementation for cuda::HoughLinesDetector.

Parameters:

rho Distance resolution of the accumulator in pixels.
theta Angle resolution of the accumulator in radians.
threshold Accumulator threshold parameter. Only those lines are returned that get enough votes (\(>\texttt{threshold}\)).
doSort Performs lines sort by votes.
maxLines Maximum number of output lines.
Ptr<HoughSegmentDetector>
cv::cuda::createHoughSegmentDetector(
    float rho,
    float theta,
    int minLineLength,
    int maxLineGap,
    int maxLines = 4096
    )

Creates implementation for cuda::HoughSegmentDetector.

Parameters:

rho Distance resolution of the accumulator in pixels.
theta Angle resolution of the accumulator in radians.
minLineLength Minimum line length. Line segments shorter than that are rejected.
maxLineGap Maximum allowed gap between points on the same line to link them.
maxLines Maximum number of output lines.