课程学习——sobel边缘算子

本文介绍了一种使用Matlab实现Sobel边缘检测的方法。通过加载图像并将其转换为灰度,应用Sobel算子进行边缘检测,并设置阈值来突出显示检测到的边缘。

matlab:C语言逻辑实现sobel边缘算子。
代码:

clc;
clear all;
f=imread('E:\matlabCX\图片\3.jpg');
figure(1);
imshow(f);
[m,n,r]=size(f);
if r>1
    f1=rgb2gray(f);
else
    f1=f;
end
f2=zeros(m,n);
f1=double(f1);
Ax=[-1,-2,-1;0,0,0;1,2,1];
Ay=[-1,0,1;-2,0,2;-1,0,1];
for x=2:m-1
    for y=2:n-1
        tp1=0.0;
        tp2=0.0;
        for x1=-1:1
            for y1=-1:1
                tp1=tp1+f1(x+x1,y+y1)*Ax(x1+2,y1+2);
                tp2=tp2+f1(x+x1,y+y1)*Ay(x1+2,y1+2);
            end
        end
        f2(x,y)=(tp1^2+tp2^2)^(1/2);
    end
end
T=30;
f4=zeros(m,n);
for x=2:m-1
    for y=2:n-1
    if f2(x,y)>T
        f4(x,y)=255;
    else
   f4(x,y)=0;
    end
    end
end
figure(3)
imshow(uint8(f4))

在这里插入图片描述
在这里插入图片描述

少年不被楼层误,余生不羁尽自由。
加油,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值