美文网首页
matlab拉普拉斯算子锐化滤波

matlab拉普拉斯算子锐化滤波

作者: 瀚海星云plus | 来源:发表于2019-04-17 19:51 被阅读0次

一. 本文主要是在给出拉普拉斯锐化算子公式的情况下,在matlab上实现代码设计。拉普拉斯算子是最简单的各向同性微分算子,有几种常用的滤波模板,本文使用的是八邻域模板,如下所示


image.png

其对应的计算公式为:


image.png

因此最后得到的锐化后的图像表示为:


image.png
其中,g(x,y)是输出图像,f(x,y)是原图像,c是常数,取为1.

二. 代码实现如下

%拉普拉斯算子锐化滤波
%M,N是滤波器的模板,为方便,应为同型奇数,如3x3,5x5
function dstImg=laShapeFilter(oriImg,M,N)

[m,n,~] = size(oriImg);
dstImg = zeros(m,n);

%扩展
extendOriImg = zeros(m+M-1,n+N-1);
start = fix(M/2);
for i = 1:m
    for j = 1:n
        extendOriImg(i+start,j+start) = oriImg(i,j);
    end
end

sum = 0;
%算法的执行,逐行扫描
for i = start+1:m+start
    for j = start+1:n+start
        
        for ii = -start:start
            for jj = -start:start
                if (ii==0) && (jj==0)
                    sum = sum + 8 * extendOriImg(i+ii,j+jj);
                else 
                   sum = sum - extendOriImg(i+ii,j+jj); 
                end
            end
        end
       dstImg(i-start,j-start) = sum;
       sum = 0;
    end
end

测试编写好的之后的函数

close all;
clear all;

oriImg = imread('your own image path');

oriImg = im2double(oriImg);
fImg = laShapeFilter(oriImg,3,3);

% 标定图像到0-255
fm = fImg - min(min(fImg));
gImg = uint8(255 * (fm/max(max(fm))));

%原图像和拉普拉斯处理后的图像相加得到锐化后的图像
fImg = im2double(fImg);
dstImg = oriImg + fImg;

subplot(2,2,1);imshow(oriImg);title('原图像');
subplot(2,2,2);imshow(fImg);title('未标定后的图像');
subplot(2,2,3);imshow(gImg);title('标定后的图像');
subplot(2,2,4);imshow(dstImg);title('锐化后的图像');

结果如下:


image.jpg

观测结果可知,图像表面的细节明显被锐化增强了,同时背景色调也很好的保留了。

相关文章

  • matlab拉普拉斯算子锐化滤波

    一. 本文主要是在给出拉普拉斯锐化算子公式的情况下,在matlab上实现代码设计。拉普拉斯算子是最简单的各向同性微...

  • CV02-02:Laplace滤波

      机器视觉中图像滤波处理应该是很基础,很重要的,本主题梳理下Laplace滤波的原理与实现; 拉普拉斯算子 数学...

  • 拉布拉斯算子锐化图像的空域和频域--matlab实现

    本文将用matlab实现拉布拉斯算子提取边缘,锐化图像。分别采用空域和频域两种方法。 空域 步骤:1.读取图像/(...

  • OpenCV-Python学习(九):图像滤波

    目录: 1.滤波的相关概念 2.卷积操作 3.平滑操作(低通滤波)均值滤波中值滤波高斯滤波双边滤波 4.锐化操作(...

  • 拉普拉斯算子——matlab

    拉普拉斯变换所对应的滤波器模板为: 结果:

  • 滤波器

    傅里叶变换及高低通滤波器的分类(均值滤波,高斯滤波,sobel,scharr,拉普拉斯滤波器) - CSDN博客 ...

  • 数字图像处理之空间域滤波

    空间域滤波大体分为两类:平滑滤波、锐化滤波 1、平滑滤波:模糊处理,用于减小噪声,实际上是低通滤波。典型的滤波器是...

  • 图神经网络中的谱图理论基础

    一、图的拉普拉斯矩阵 拉普拉斯算子 拉普拉斯算子(Laplace Operator)是为欧几里德空间中的一个二阶微...

  • 滤波器的分类

    a.平滑空间滤波器:去除图像中不重要的细节,减少噪声b.锐化空间滤波器: a.平滑空间滤波器 线性滤波器(均值滤波...

  • 图像处理基础-USM锐化

    一、为什么要用USM锐化? 上一篇讲拉普拉斯锐化,不能提供精细的调整,在photoshop中采用USM(Unsha...

网友评论

      本文标题:matlab拉普拉斯算子锐化滤波

      本文链接:https://www.haomeiwen.com/subject/ctqowqtx.html