MATLAB图像处理-图片的锐化增强(附代码)

锐化处理的目的:是突出图像中的细节或者增强被模糊了的细节.

锐化处理可以用空间微分来完成. 微分算子的响应强度与图像在该点的突变程度有关,图像微分增强了边缘和其他突变(如噪声)而消弱了灰度变化缓慢的区域.

我们最感兴趣的是微分算子在①恒定灰度区域(平坦段)、②突变的开头与结尾(阶梯与斜坡突变)以及③沿着灰度级斜坡处的特性

对于一阶微分必须保证:
1.平坦段微分值为零
2.在灰度阶梯或斜坡的起点处微分值非零
3.沿着斜坡面微分值非零

对于二阶微分必须保证:
1.在平坦区微分值为零
2.在灰度阶梯或斜坡的起始点处微分值非零
3.沿着斜坡面微分值为零

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拉普拉斯算子定义为:
拉普拉斯算子
拉普拉斯模板可以是:
模板
也可以是:
在这里插入图片描述
拉普拉斯微分算子强调图像中灰度的突变,弱化灰度慢变化的区域。这将产生一幅把浅灰色边线、突变点叠加到暗背景中的图像。
将原始图像和拉普拉斯图像叠加在一起的简单方法可以保护拉普拉斯锐化处理的效果,同时又能复原背景信息。因此拉普拉斯算子用于图像增强的基本方法如下:
在这里插入图片描述
可以用下面的掩模一次扫描来实现:
掩模
代码如下:

img = imread('');
figure;
imshow(img);
title('原图')
i = 5;
w = fspecial('log', [i i], 0.5);%生成高斯-拉普拉斯滤波器
img_ruihua = filter(img, w, i);
figure;
imshow(img_ruihua);
tit = ['当前模板大小为' num2str(i)];
title(tit);

%%
%滤波函数
function img_result = filter(img, w, i)
    moban_size = i;
    [M,N] = size(img);
    img_lap = zeros(M, N);
     expand_img = double(wextend('2D','zpd', img, floor(i/2)));%扩展0,转double为了矩阵运算
 
     for i=1:M
        for j=1:N
            ave = sum( sum( expand_img(i:i+moban_size-1,j:j+moban_size-1) .* w)); %取出扩展元素与模板相乘,并求矩阵元素之和
            img_lap(i,j) = ave;
        end
     end

    img_lap = uint8(img_lap);%转int8,图像
    figure;
    imshow(img_lap);
    title('边缘')
    img_result = img - img_lap;
end

结果示例:
原图:
原图
边缘提取如下:

边缘提取
增强后的图形:
在这里插入图片描述
总结:
锐化处理可以用空间微分来完成. 微分算子的响应强度与图像在该点的突变程度有关,图像微分增强了边缘和其他突变(如噪声)而消弱了灰度变化缓慢的区域。

  • 15
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值