homework.m

来自「对于遥感图像上的地物进行提取」· M 代码 · 共 32 行

M
32
字号
%分别通过Sobel边缘检测的计算公式及Edge函数中Sobel参数的设定来提取化工区的油气罐
f0=imread('1.jpg');
f1=rgb2gray(f0);
f=double(f1);   %uint8不能进行计算,将其转为double型
[m,n]=size(f);

%Sobel检测的计算公式(dxs、dys分别是近似一阶导数值的掩模)
for i=2:m-1
    for j=2:n-1
        dys(i,j)=f(i-1,j+1)+2*f(i,j+1)+f(i+1,j+1)-f(i-1,j-1)-2*f(i,j-1)-f(i+1,j-1);   
        dxs(i,j)=f(i+1,j-1)+2*f(i+1,j)+f(i+1,j+1)-f(i-1,j-1)-2*f(i-1,j)-f(i-1,j+1);
        f2(i,j)=sqrt((dxs(i,j)^2+dys(i,j)^2));
    end
end

subplot(2,3,1)
imshow(f0);
title('原图像')
subplot(2,3,2)
imshow(f1);
title('原图像的灰度图')
subplot(2,3,3)
imhist(f1);
title('直方图')
subplot(2,3,4)
imshow(f2,[]);
title('Sobel检测计算公式所得图')
subplot(2,3,5)
imshow(edge(f1,'sobel',0.105));
title('Edge函数Sobel')

⌨️ 快捷键说明

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