houghpeaks
识别 Hough 变换中的峰值
说明
示例
定位和显示旋转图像的 Hough 变换中的峰值
将图像读入工作区。
I = imread('circuit.tif');
创建二值图像。
BW = edge(imrotate(I,50,'crop'),'canny');
创建图像的 Hough 变换。
[H,T,R] = hough(BW);
查找图像的 Hough 变换中的峰值并绘制它们。
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');
输入参数
H
— Hough 变换矩阵
数值数组
Hough 变换矩阵,指定为数值数组。行和列对应于 rho
和 theta
值。使用 hough
函数创建一个 Hough 变换矩阵。
数据类型: double
numpeaks
— 要识别的最大峰值个数
1
(默认) | 正整数
要识别的最大峰值个数,指定为正整数。
数据类型: double
名称-值参数
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数后,但对各个参数对组的顺序没有要求。
如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: P = houghpeaks(H,2,'Threshold',15);
Threshold
— 被视为峰值的最小值
0.5*max(H(:))
(默认) | 非负数
被视为峰值的最小值,指定为非负数。
数据类型: double
NHoodSize
— 隐藏邻域的大小
由正奇数组成的二元素向量
隐藏邻域的大小,指定为由正奇数组成的二元素向量。隐藏邻域是每个峰值周围的邻域,在识别出峰值后,该值设置为零。NHoodSize
的默认值为大于或等于 size(H)/50
的最小奇数值。NHoodSize
的维数必须小于 Hough 变换矩阵 H
的大小。
数据类型: double
Theta
— Hough 变换 theta 值
-90:89
(默认) | 数值向量
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
houghpeaks
支持 C 代码生成(需要 MATLAB® Coder™)。有关详细信息,请参阅图像处理的代码生成。可选参数名称
'Threshold'
和'NHoodSize'
必须为编译时常量。其相关联的值不必是编译时常量。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
可选参数名称
'Threshold'
和'NHoodSize'
必须为编译时常量。其相关联的值不必是编译时常量。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
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)