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

📄 sobel.m

📁 边缘检测
💻 M
字号:
f=imread('lena256.bmp')        %读原图
f=im2double(f);   %改变数值类型(unit-double)
imshow(f)            %显示原来图象
L=length(f);  %矩阵长度
a=[-1,-2,-1;0,0,0;1,2,1];%水平算子
b=[-1,0,1;-2,0,2;-1,0,1];%垂直算子
cc=conv2(a,f);           %水平算子卷积图象
dd=conv2(b,f);           %垂直算子卷积图象
for i=1:1:L,             %截去多于象素
    for j=1:1:L
        c(i,j)=cc(i,j);
        d(i,j)=dd(i,j);
    end
end
for i=1:1:L,       %求得c,d矩阵每个值的平方
    for j=1:1:L
        c(i,j)=c(i,j)*c(i,j);
        d(i,j)=d(i,j)*d(i,j);
    end
end
t=c+d;
for i=1:1:L,
    for j=1:1:L
        t(i,j)=sqrt(t(i,j)) ; %开方
    end
end
n=input('输入threshold=');    %输入阀值
for i=1:1:L,        %大于阀值1 小于阀值0
    for j=1:1:L
        if t(i,j)>n
            t(i,j)=1;
        else t(i,j)=0;
        end
    end
end
imshow(t)%显示检测后图象

⌨️ 快捷键说明

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