资源简介
Radon变换检测直线程序,Radon变换检测直线程序,Radon变换检测直线程序,Radon变换检测直线程序,Radon变换检测直线程序,
代码片段和文件信息
%准备
clcclear;
%读入图像
% I=imread(‘ic.tif‘);
I=imread(‘Fig1006(a)(building).tif‘);
%图像二值化以方便进行radon变换
BW=edge(I0.1); % 默认的二值化方式是sobel方法
% figureimshow(BW);
%radon变换
theta=0:179; %radon变换。获得从0到179每个幅角的
[Rrho]=radon(BWtheta); %每个平行直线的积分值(R)。rho是R的纵坐标,也是变换后的极坐标幅值;
M=length(rho);N=length(theta); %theta是R横坐标,也就是变换后的极坐标幅角(0:179)
%图像标识出极坐标图
figureimagesc(thetarhoR);
colormap(hot);
xlabel(‘\theta(幅角)‘);
ylabel(‘\rho(幅值)‘);
colorbar
%找到峰值R最大的前X条直线
X=13; %找到前X条直线
nhood=11; %对以最值点为中心的nhood×nhood区域进行清零,以排除重复。
%此处nhood必须是奇数,以保证最值点在中心。默认值可以是max(3*ceil(size(R)/2)+11)。
for j=1:X
[Rmax(1j)RANK]=max(R(:)); %找出R最大值
yRmax=floor(RANK/M)+1; xRmax=mod(RA
- 上一篇:最小二乘法Matlab代码
- 下一篇:lz复杂度计算的matlab程序
评论
共有 条评论