数字图像处理学习笔记(七)锐化滤波:Sobel算子、Canny算子、拉普拉斯算子

实验截图:

  • 不同锐化滤波处理后的结果
    在这里插入图片描述

实验代码:

img=imread('erciyuan.jpg');
subplot(221);
imshow(img);  
title('原图');
 
subplot(222);
sobel=edge(rgb2gray(img),'sobel');
imshow(sobel); 
title('Sobel算子后的图');
 
subplot(223);
canny=edge(rgb2gray(img),'canny');
imshow(canny); 
title('Canny算子后的图');
 
img=im2double(img);
[M,N]=size(img);
laplacian=zeros(size(img));
for x=2:M-1
    for y=2:N-1
        laplacian(x,y)=img(x+1,y)+img(x-1,y)+img(x,y+1)+img(x,y-1)-4*img(x,y);
    end
end
subplot(224);
imshow(laplacian);
title('拉普拉斯算子后的图');

结果分析:

  • 1.锐化(Sharpening) :图像在传输或变换过程中(如未聚焦好)、受到各种干扰而退化,典型的是图像模糊,而图像的判读和识别中,常需突出目标的轮廓或边缘信息。
  • 2.边缘锐化:主要增强图像的轮廓边缘、细节( 灰度跳变部分),以突出图像中景物的边缘或纹理,形成完整的物体边界,使边缘和轮廓模糊的图像清晰,又叫空域高通滤波(俗称为勾边处理)。
    从数学角度看,图像模糊相当于图像被平均或者积分,为实现图像的锐化,我们需要运用它的反运算“微分”——加强高频分量,实现轮廓清晰。
  • 这里我们使用的是matlab自带的edge函数,三种滤波的简单原理为:
  • Sobel算子,以一个点为基准向四周取出3*3的矩阵,将其与模板矩阵[-1 -2 -1;0 0 0;1 2 1]和[-1 0 1;-2 0 2;-1 0 1]进行点乘并求和后存入该点。
  • Canny算子,对原图进行高斯滤波平滑图像,用一阶偏导有限差分计算梯度幅值和方向,对梯度幅值进行非极大值抑制,用双阈值算法检测和连接边缘。
  • 拉普拉斯算子,二阶微分算子,引入模板img2(i,j,k) = img1(i+1,j,k) + img1(i-1,j,k) + img1(i,j+1,k) + img1(i,j-1,k) - 4 * img1(i,j,k)进行计算。
  • 3
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值