houghpeaks

会有一股神秘感。 提交于 2020-01-11 04:20:44


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。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!