houghpeaks 函数--识别哈夫变换矩阵中的峰值点

识别哈夫变换中的峰值点。Identify peaks in the Hough transform
语法:
peaks = houghpeaks(H,numpeaks)
使用说明:
peaks = houghpeaks(H,numpeaks) 函数是在哈夫变换矩阵中找到峰值点。 H是由哈夫函数产生的变换矩阵,numpeaks 是指定需要确定的最大峰值点个数。函数最后返回一个Q*2的矩阵peaks, 其中 Q 0numpeaks变化,Q 中保存峰值点的行列坐标。如果省略numpeaks 缺省值为1
peaks = houghpeaks(...,param1,val1,param2,val2) 函数中指定参数和参数值如下表所示,参数可以缩写,也不分大小写。
'Threshold' 为非负标量作为H中视为峰值点的阈值。阈值取值范围为0 Inf。默认值为 0.5*max(H(:))。
'NHoodSize' 指定一个由奇数正整数构成的2D向量[M N]'NHoodSize' 指定抑制领域的大小。这些峰值点周围的领域电将被置为0。默认值:最小的奇数值大于等于size(H)/50.

支持的数据类型:

H 为哈夫变换输出的矩阵, numpeaks 是一个正整数标量。

程序实例

%Locate and display two peaks in the Hough transform of the rotated circuit.tif image.

%circuit.tif的旋转图像的哈夫变换矩阵中找到并显示两个峰值点

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');

参考函数:

hough, houghlines

posted @ 2005-09-29 18:35  MichaeL  阅读(3244)  评论(1)    收藏  举报