• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: Matlab
  • 标签: Radon变换  

资源简介

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

评论

共有 条评论