文章目录
houghpeaks:识别霍夫变换中的峰
Syntax
peaks = houghpeaks(H,numpeaks)
peaks = houghpeaks(___,Name,Value,...)
Description
peaks = houghpeaks(H,numpeaks)在由霍夫函数生成的霍夫变换矩阵H中定位峰。 numpeaks指定要识别的最大峰数。 该函数返回峰的矩阵,其中包含峰的行和列坐标。
peaks = houghpeaks(___,Name,Value,…)在Hough变换矩阵中定位峰,命名的参数控制操作的各个方面。
Examples
在旋转图像的霍夫变换中定位并显示峰
I = imread('circuit.tif');
创建二进制图像。
[H,T,R] = hough(BW);
在图像的霍夫变换中找到峰并绘制它们。
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 —霍夫变换矩阵
数值数组
霍夫变换矩阵,指定为double类的数字数组。 行和列对应于rho和theta值。 使用霍夫函数创建霍夫变换矩阵。
数据类型:双精度
numpeaks —要识别的最大峰数
1(默认)| 正整数标量
要识别的最大峰数,指定为数字标量。
数据类型:双精度
Name-Value Pair Arguments
指定可选的以逗号分隔的Name,Value参数对。 Name是参数名称,Value是相应的值。 名称必须出现在引号中。 您可以按任意顺序指定多个名称和值对参数,例如Name1,Value1,…,NameN,ValueN。
示例:P = houghpeaks(H,2,‘Threshold’,15);
“阈值” —视为峰值的最小值
0.5 * max(H( : ))(默认)| 非负数值标量
视为峰值的最小值,指定为非负数字标量。 该值可以是0到Inf之间的任何值。
数据类型:双精度
‘NHoodSize’-抑制邻居的大小
大于或等于size(H)/ 50的最小奇数值(默认)| 正奇整数的二元向量
抑制邻域的大小,指定为正奇整数的二元素向量。 抑制邻域是每个峰周围的邻域,在识别出峰后将其设置为零。
数据类型:双精度
‘Theta’-霍夫变换theta值
-90:89(默认)| 向量
霍夫变换θ值,指定为由霍夫函数返回的向量。 向量的每个元素为输出矩阵H的对应列指定theta值。houghpeaks使用为峰值抑制指定的theta值。
注意
如果将“ Theta”参数指定为hough函数的输入,则必须使用houghpeaks函数指定theta参数。 使用来自霍夫函数的θ输出值作为霍夫峰的θ输入值。 否则,峰值抑制会导致意外结果。
Output Arguments
peaks-找到的峰的行和列坐标
Q×2矩阵
找到的峰的行和列坐标,以Q×2矩阵形式返回,其中Q的范围可以从0到numpeaks。
来源:CSDN
作者:御坂御坂001
链接:https://blog.csdn.net/qq_34562355/article/details/103882435