MATLAB 帮助中心
识别霍夫变换中的峰值
peaks = houghpeaks(H,numpeaks)
peaks = houghpeaks(H,numpeaks,Name=Value)
peaks = houghpeaks(H,numpeaks) 在霍夫变换矩阵 H 中定位峰值,并返回峰值的 (row, column) 坐标。该函数返回最多 numpeaks 个峰值。
peaks
H
numpeaks
示例
peaks = houghpeaks(H,numpeaks,Name=Value) 使用名称-值参量控制运算的各个方面。例如,指定 Threshold=15 以仅考虑值为 15 或更大的峰值。
Name=Value
Threshold=15
15
全部折叠
将一个图像读入工作区,然后显示该图像。
I = imread("circuit.tif"); imageshow(I)
将图像绕其中心逆时针旋转 50 度。然后,找到图像中的边缘。
Irot = imrotate(I,50,"crop"); BW = edge(Irot,"canny"); imageshow(BW)
计算旋转后的图像的霍夫变换。
[H,T,R] = hough(BW);
找到并绘制图像的霍夫变换中最强的两个峰值。
P = houghpeaks(H,2); imshow(H,[],XData=T,YData=R); xlabel("\theta") ylabel("\rho") axis on axis normal hold on plot(T(P(:,2)),R(P(:,1)),"s",Color="red")
霍夫变换矩阵,指定为数值矩阵。行和列对应于 rho 和 theta 值。通过使用 hough 函数创建一个霍夫变换矩阵。
hough
数据类型: 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)
如果使用的是 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
相对于线条的垂直投影的角度(以度为单位),指定为元素在 [-90, 90) 范围内的数值向量。角度是从 x 轴顺时针方向测量的。向量的每个元素指定霍夫变换矩阵 H 对应列的 theta 值。houghpeaks 函数使用 Theta 值进行峰值隐藏。
houghpeaks
注意
如果您调用了 hough 函数并指定了 Theta 名称-值参量,则将此值设置为 hough 函数返回的 theta 输出参量。否则,houghpeaks 函数可能会为峰值隐藏返回意外结果。
theta
定位的峰值的行和列坐标,以 q×2 矩阵形式返回,其中 q 是检测到的峰值数目。值 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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处