⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 no1.m

📁 这是计算各种物体类间距离的一种方法
💻 M
字号:
function NO1
clc
clear
x1=imread('E:\图\shu.jpg');
X=rgb2gray(x1);
%filename='rice.bmp';   % 读取原图像
%X=imread(filename);
[M,N]=size(X);
figure
imshow(X);
title('原图像')

%-----------------------------NO2 start-----------------------%
XA=255.*ones(M,N);         %创建一个纯白图像
[X_gray,th]=leijianfangcha(X);    %类间方差法分割图像
figure
imshow(X_gray)
title('分割图像')

X=double(X);
XA=double(XA);

th=th*0.19;         %认为确定边缘检测阈值

for i=2:M-1;
    for j=2:N-1;
        temp=filter_H1(X,i,j);
        if temp>th
            XA(i,j)=0;
        else
            XA(i,j)=255;
        end
    end
end

XA=uint8(XA);    %H1算子边缘检测结果
figure          
imshow(XA);
title('边缘图像')
%-------------------------NO2 end-----------------------------%

%-------------------------NO3 start-----------------------------%
Ox=M;
Oy=1;
for i=M:-1:1;
    for j=1:N;
        if i==M && j==1;
            lnr(i,j)=0;
        else
            lnr(i,j)=log( sqrt( (i-Ox)^2+(j-Oy)^2 ) );
        end
        
        if j==1 && i~=M;
            sita(i,j)=pi/2;
        elseif i==M && j==1;
            sita(i,j)=0;
        else
            sita(i,j)=atan(abs((i-Ox)/(j-Oy)));
        end
    end
end
figure
imshow(lnr,sita,uint8(X));
%mesh(lnr,sita,double(X))
title('XAp图像')

%-------------------------NO3 end-------------------------------%

%-----------------------子函数----------------------------%        
function result=filter_H1(X,i,j)   %H1算子子函数
%H1=[1,2,1;0,0,0;-1,-2,-1;];
H1=[-1,2,-1;-1,2,-1;-1,2,-1;];
result=0;
for a=-1:1;
    for b=-1:1;
        result=result+X(i+a,j+b).*H1(a+2,b+2);
    end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -