houghpeaks
Identify peaks in Hough transform
Description
controls aspects of the operation using name-value pair arguments.peaks
= houghpeaks(H
,numpeaks
,Name,Value
)
Examples
Locate and Display Peaks in Hough Transform of Rotated Image
Read image into workspace.
I = imread('circuit.tif');
Create binary image.
BW = edge(imrotate(I,50,'crop'),'canny');
Create Hough transform of image.
[H,T,R] = hough(BW);
Find peaks in the Hough transform of the image and plot them.
P = houghpeaks(H,2); imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit'); xlabel('\theta'), ylabel('\rho'); axis on, axis normal, hold on; plot(T(P(:,2)),R(P(:,1)),'s','color','white');
Input Arguments
H
— Hough transform matrix
numeric array
Hough transform matrix, specified as a numeric array. The rows and columns correspond to
rho
and theta
values. Use the
hough
function to create a
Hough transform matrix.
Data Types: double
numpeaks
— Maximum number of peaks to identify
1
(default) | positive integer
Maximum number of peaks to identify, specified as a positive integer.
Data Types: double
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: P = houghpeaks(H,2,'Threshold',15);
Threshold
— Minimum value to be considered a peak
0.5*max(H(:))
(default) | nonnegative number
Minimum value to be considered a peak, specified as a nonnegative number.
Data Types: double
NHoodSize
— Size of suppression neighborhood
2-element vector of positive odd integers
Size of the suppression neighborhood, specified as a 2-element vector
of positive odd integers. The suppression
neighborhood is the neighborhood around each peak that
is set to zero after the peak is identified. The default value of
NHoodSize
is the smallest odd values greater
than or equal to size(H)/50
. The dimensions of
NHoodSize
must be smaller than the size of the
Hough transform matrix, H
.
Data Types: double
Theta
— Hough transform theta values
-90:89
(default) | numeric vector
Hough transform theta values, specified as a numeric vector returned
by the hough
function. Each element of the vector
specifies the theta value for the corresponding
column of the output matrix H
.
houghpeaks
uses the theta
values specified for peak suppression. Use the hough
function to
create a Hough transform matrix.
Note
If you specify the 'Theta'
parameter as input
to the hough
function, you must specify the
theta
parameter with the
houghpeaks
function. Use the
theta
output value from the
hough
function as the
theta
input value for
houghpeaks
. Otherwise, peak suppression can
result in unexpected results.
Data Types: double
Output Arguments
peaks
— Row and column coordinates of found peaks
Q-by-2 matrix
Row and column coordinates of found peaks, returned as a
Q-by-2 matrix. The value Q can
range from 0
to numpeaks
.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
houghpeaks
supports the generation of C code (requires MATLAB® Coder™). For more information, see Code Generation for Image Processing.The optional parameter names
'Threshold'
and'NHoodSize'
must be compile-time constants. Their associated values need not be compile-time constants.
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
Usage notes and limitations:
The optional parameter names
'Threshold'
and'NHoodSize'
must be compile-time constants. Their associated values need not be compile-time constants.
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)