mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
4.1 KiB
96 lines
4.1 KiB
Hough Transform |
|
=============== |
|
|
|
.. highlight:: cpp |
|
|
|
|
|
|
|
gpu::HoughLines |
|
--------------- |
|
Finds lines in a binary image using the classical Hough transform. |
|
|
|
.. ocv:function:: void gpu::HoughLines(const GpuMat& src, GpuMat& lines, float rho, float theta, int threshold, bool doSort = false, int maxLines = 4096) |
|
|
|
.. ocv:function:: void gpu::HoughLines(const GpuMat& src, GpuMat& lines, HoughLinesBuf& buf, float rho, float theta, int threshold, bool doSort = false, int maxLines = 4096) |
|
|
|
:param src: 8-bit, single-channel binary source image. |
|
|
|
:param lines: Output vector of lines. Each line is represented by a two-element vector :math:`(\rho, \theta)` . :math:`\rho` is the distance from the coordinate origin :math:`(0,0)` (top-left corner of the image). :math:`\theta` is the line rotation angle in radians ( :math:`0 \sim \textrm{vertical line}, \pi/2 \sim \textrm{horizontal line}` ). |
|
|
|
:param rho: Distance resolution of the accumulator in pixels. |
|
|
|
:param theta: Angle resolution of the accumulator in radians. |
|
|
|
:param threshold: Accumulator threshold parameter. Only those lines are returned that get enough votes ( :math:`>\texttt{threshold}` ). |
|
|
|
:param doSort: Performs lines sort by votes. |
|
|
|
:param maxLines: Maximum number of output lines. |
|
|
|
:param buf: Optional buffer to avoid extra memory allocations (for many calls with the same sizes). |
|
|
|
.. seealso:: :ocv:func:`HoughLines` |
|
|
|
|
|
|
|
gpu::HoughLinesDownload |
|
----------------------- |
|
Downloads results from :ocv:func:`gpu::HoughLines` to host memory. |
|
|
|
.. ocv:function:: void gpu::HoughLinesDownload(const GpuMat& d_lines, OutputArray h_lines, OutputArray h_votes = noArray()) |
|
|
|
:param d_lines: Result of :ocv:func:`gpu::HoughLines` . |
|
|
|
:param h_lines: Output host array. |
|
|
|
:param h_votes: Optional output array for line's votes. |
|
|
|
.. seealso:: :ocv:func:`gpu::HoughLines` |
|
|
|
|
|
|
|
gpu::HoughCircles |
|
----------------- |
|
Finds circles in a grayscale image using the Hough transform. |
|
|
|
.. ocv:function:: void gpu::HoughCircles(const GpuMat& src, GpuMat& circles, int method, float dp, float minDist, int cannyThreshold, int votesThreshold, int minRadius, int maxRadius, int maxCircles = 4096) |
|
|
|
.. ocv:function:: void gpu::HoughCircles(const GpuMat& src, GpuMat& circles, HoughCirclesBuf& buf, int method, float dp, float minDist, int cannyThreshold, int votesThreshold, int minRadius, int maxRadius, int maxCircles = 4096) |
|
|
|
:param src: 8-bit, single-channel grayscale input image. |
|
|
|
:param circles: Output vector of found circles. Each vector is encoded as a 3-element floating-point vector :math:`(x, y, radius)` . |
|
|
|
:param method: Detection method to use. Currently, the only implemented method is ``CV_HOUGH_GRADIENT`` , which is basically *21HT* , described in [Yuen90]_. |
|
|
|
:param 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. |
|
|
|
:param 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. |
|
|
|
:param cannyThreshold: The higher threshold of the two passed to the :ocv:func:`gpu::Canny` edge detector (the lower one is twice smaller). |
|
|
|
:param votesThreshold: The accumulator threshold for the circle centers at the detection stage. The smaller it is, the more false circles may be detected. |
|
|
|
:param minRadius: Minimum circle radius. |
|
|
|
:param maxRadius: Maximum circle radius. |
|
|
|
:param maxCircles: Maximum number of output circles. |
|
|
|
:param buf: Optional buffer to avoid extra memory allocations (for many calls with the same sizes). |
|
|
|
.. seealso:: :ocv:func:`HoughCircles` |
|
|
|
|
|
|
|
gpu::HoughCirclesDownload |
|
------------------------- |
|
Downloads results from :ocv:func:`gpu::HoughCircles` to host memory. |
|
|
|
.. ocv:function:: void gpu::HoughCirclesDownload(const GpuMat& d_circles, OutputArray h_circles) |
|
|
|
:param d_circles: Result of :ocv:func:`gpu::HoughCircles` . |
|
|
|
:param h_circles: Output host array. |
|
|
|
.. seealso:: :ocv:func:`gpu::HoughCircles`
|
|
|