赞
踩
参考:Radon 变换
Radon变换是使用一组参数
基于Radon变换的直线检测的目的就是检测根据角度变化时出现的“局部峰值”,即可以确定直线的方向,同时,峰值大小能够确定直线上点的个数,如下图的局部极大值,则有可能是一条直线的位置,当然进行检测之前需要获得图像中的轮廓,而不是直接对图像进行变换
例如matlab官方的图像进行检测:
进行边缘检测:
然后选择不同的角度与距离,得到了一个二维数组:
其中较亮的点即为局部极大值,也就是第二部分所说的有可能是直线所在的位置
代码:
- I = fitsread('solarspectra.fts');
- I = rescale(I);
-
- figure
- imshow(I)
- title('Original Image')
-
- BW = edge(I);
- figure
- imshow(BW)
- title('Edges of Original Image')
-
- theta = 0:179;
- [R,xp] = radon(BW,theta);
-
- figure
- imagesc(theta, xp, R); colormap(hot);
- xlabel('\theta (degrees)');
- ylabel('x^{\prime} (pixels from center)');
- title('R_{\theta} (x^{\prime})');
- colorbar
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。