代码编织梦想

一、基本原理

拉普拉斯算子是一种二阶导数算子,是各向同性的微分运算,具有旋转不变性,可以满足不同走向的图像边界的锐化要求。
对一个二维图像函数f(x,y),它的拉普拉斯算子定义为:
在这里插入图片描述
x方向上的二阶微分定义为:
在这里插入图片描述
y方向上的二阶微分定义为:
在这里插入图片描述
所以,对于数字图像,离散函数f(x,y)的拉普拉斯算子表示为:
在这里插入图片描述
这个公式可以用如下图所示的滤波模板来表示:
在这里插入图片描述

二、实现步骤

(1)将原图像f(x,y)与拉普拉斯算子的模板做卷积,得到拉普拉斯滤波后的图像g1(x,y);
(2)由于拉普拉斯模板的中心系数为负,取g2(x,y)=f(x,y)-g1(x,y);
(3)对g2(x,y)进行标定,得到拉普拉斯锐化后的图像g (x,y)。

三、效果演示

使用拉普拉斯算子进行图像锐化的效果如下图所示。可以看到,拉普拉斯算子处理后的图像比原图像更清晰,使图像中的细节部分得到了增强,并良好地保留了图像的背景色调:
在这里插入图片描述

四、matlab代码

%% 拉普拉斯算子
clear,close all 
clc
srcImg = imread('Laplace算子用.tif');
h = figure(1);
sizeScreen = get(0,'ScreenSize');
set(h,'position',sizeScreen)
subplot(221)
imshow(srcImg);
title('原始图像','fontsize',18);
srcImg = double(srcImg);
[rows,cols] = size(srcImg);
lapImg = zeros(rows,cols);
mask = [0  1  0;...
        1 -4  1;...
        0  1  0];
for i = 1:rows-2
    for j = 1:cols-2
        temp = mask.*srcImg(i:i+2,j:j+2);
        lapImg(i+1,j+1) = sum(temp(:));
    end
end
lapImg_unscaling = uint8(lapImg);
subplot(222)
imshow(lapImg_unscaling);
title('拉普拉斯滤波后的图像(未标定)','fontsize',18);
lapImg_scaling = scale(lapImg);
lapImg_scaling = uint8(lapImg_scaling);
subplot(223)
imshow(lapImg_scaling);
title('拉普拉斯滤波后的图像(已标定至[0,255])','fontsize',18);
dstImg = srcImg-lapImg;
dstImg = scale(dstImg);
dstImg = uint8(dstImg);
subplot(224)
imshow(dstImg);
title('目标图像','fontsize',18);
%% 函数定义:标定函数
function dstImg = scale(srcImg)
    MIN = min(srcImg(:));
    temp = srcImg-MIN;
    MAX = max(temp(:));
    dstImg = 255*temp/MAX;
end
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_21603315/article/details/128070998

matlab数字图像处理图像增强——图像锐化(laplace锐化)的实现_cxiao_yue的博客-爱代码爱编程_matlab拉普拉斯算子锐化增强

拉普拉斯锐化法     什么是拉普拉斯算子?     在图像锐化增强中,我们希望找到一种各向同性的边缘检测算子,这个算子就是拉普拉斯算子,该算子及其对f(x,y)的作用是           由一维信号的锐化公式可得到二维数字图像的锐化公式为                                              

数字图像处理学习笔记8:频率域滤波4(拉普拉斯算子)-爱代码爱编程

文章目录 一、频率域的拉普拉斯算子1.原理2.编程步骤二、MATLAB代码1.代码2.结果 一、频率域的拉普拉斯算子 1.原理 (1)拉普拉斯在频率域的滤波器可以表示为: H (

matlab log算子求取,数字图像处理---LOG算子和CANNY算子边缘提取(matlab)-爱代码爱编程

LOG算子和CANNY算子边缘提取 边缘的含义: 在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如灰度的突变、纹理结构的突变、颜色的突变等。尽管图像的边缘点产生的原因各不相同,但他们都是图形上灰度不连续或灰度急剧变化的点,图像边缘分为阶跃状、斜坡状和屋顶状。 一般图像边缘检测方

《数字图像处理》- 实验2. MATLAB实现图像增强(附代码)-爱代码爱编程

声明 本文仅在CSDN发布,其他均为盗版。请支持正版! 正版链接:https://blog.csdn.net/meenr/article/details/117605874 实验2、MATLAB实现图像增强 目录 实验2、MATLAB实现图像增强1. 实验目的2. 实验内容3. 实验步骤4. 实验结果及其分析5. 直方图均衡化处理的主要

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

实验截图: 不同锐化滤波处理后的结果实验代码: img=imread('erciyuan.jpg'); subplot(221); imshow(img); title('原图'); subplot(222); sobel=edge(rgb2gray(img),'sobel'); imshow(sobel); title('Sobel算子后的

通过matlab编程,使用Laplacian算子对该图像进行锐化操作。-爱代码爱编程

im = imread('C:\Users\Administrator\Desktop\789.jpg');% 读取彩色图 subplot(131); imshow(im); title('原图'); %I=rgb2gray(RGB); %imshow(I); %title('原始灰度图像'); a=1; model=[0 -2*a 0;-2*a

MATLAB----laplacian锐化滤波器-爱代码爱编程

% laplacian锐化滤波器 clc,clear,close all % 清理命令区、清理工作区、关闭显示图形 warning off % 消除警告 feature jit off % 加速代码运行 im = imread(‘coloredChips.png’); % 原图像 R = imnoise(im(:,:,1),‘gaussian’,0,0

matlab拉普拉斯算子边缘提取_【图像处理】opencv系列十 -爱代码爱编程

上一篇我们学习了边缘检测相关的Sobel算了,经过学习之后,我们应该可以对Sobel算子进行熟悉的运用,那么今天,我们一起来学习一下边缘检测相关的Laplacian(拉普拉斯)算子以及scharr滤波器。 一、理论 Laplacian 算子是n维欧几里德空间中的一个二阶微分算子,定义为梯度grad()的散度div(),因此如果f是二阶可微的实

matlab 拉普拉斯锐化函数_dip第三章图像增强高斯拉普拉斯算子零交叉点-爱代码爱编程

Welcome​zqsiat.github.io 写在前面的 老师在布置这道作业题的时候说“这次作业非常简单,比上次第二章的作业简单,不会花太长时间就可以完成。”当时我还真信了,但是,并不简单。吐槽一下,我们老师讲课对我们学生的水平太过自信,有些细节的东西不讲,其中滋味请大家自行脑补。 作业内容

图片边缘检测——sobel算子、scharr算子、拉普拉斯算子、canny边缘检测-爱代码爱编程

边缘检测 1. 索贝尔(sobel)算子2 沙尔算子3 拉普拉斯算子4 Canny边缘检测 1. 索贝尔(sobel)算子 当图片像素的某一处的颜色发生很大的改变,可以在此处进行图像的特征处理,模