MATLAB 帮助中心
识别霍夫变换中的峰值
peaks = houghpeaks(H,numpeaks)
peaks = houghpeaks(H,numpeaks,Name=Value)
peaks = houghpeaks(H,numpeaks) 定位由 hough 函数生成的霍夫变换矩阵 H 中的峰值。numpeaks 指定要识别的最大峰值个数。该函数返回 peaks,即一个保留峰值的行和列坐标的矩阵。
peaks
H
numpeaks
hough
示例
peaks = houghpeaks(H,numpeaks,Name=Value) 使用名称-值参量控制运算的各个方面。
Name=Value
全部折叠
将图像读入工作区。
I = imread('circuit.tif');
创建二值图像。
BW = edge(imrotate(I,50,'crop'),'canny');
创建图像的霍夫变换。
[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');
霍夫变换矩阵,指定为数值数组。行和列对应于 rho 和 theta 值。使用 hough 函数创建一个霍夫变换矩阵。
rho
theta
数据类型: double
double
1
要识别的最大峰值个数,指定为正整数。
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
Name1=Value1,...,NameN=ValueN
Name
Value
示例: P = houghpeaks(H,2,Threshold=15) 指定被视为峰值的最小值为 15。
P = houghpeaks(H,2,Threshold=15)
15
如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: P = houghpeaks(H,2,"Threshold",15);
P = houghpeaks(H,2,"Threshold",15);
Threshold
0.5*max(H(:))
被视为峰值的最小值,指定为非负数。
NHoodSize
隐藏邻域的大小,指定为由正奇数组成的二元素向量。隐藏邻域是每个峰值周围的邻域,在识别出峰值后,该值设置为零。NHoodSize 的默认值为大于或等于 size(H)/50 的最小奇数值。NHoodSize 的维数必须小于霍夫变换矩阵 H 的大小。
size(H)/50
Theta
-90:89
霍夫变换 theta 值,指定为由 hough 函数返回的数值向量。向量的每个元素指定输出矩阵 H 的对应列的 theta 值。houghpeaks 使用为峰值隐藏指定的 theta 值。使用 hough 函数创建一个霍夫变换矩阵。
houghpeaks
注意
如果您将 Theta 参量指定为 hough 函数的输入,则必须使用 houghpeaks 函数指定返回的 theta 值。使用 hough 函数的 theta 输出值作为 houghpeaks 的 Theta 输入值。否则,峰值隐藏会导致意外的结果。
找到的峰值的行和列坐标,以 Q×2 矩阵形式返回。值 Q 的范围可以从 0 到 numpeaks。
0
全部展开
用法说明和限制:
houghpeaks 支持 C 和 C++ 代码生成(需要 MATLAB® Coder™)。有关详细信息,请参阅图像处理的代码生成。
字符串参量必须为编译时常量。
在 R2006a 之前推出
hough | houghlines
houghlines
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处