数字图像处理_拉普拉斯图像锐化

38人阅读 评论(0) 收藏 举报
分类:

本文是博主个人学习数字图像处理整理知识点所用,如有错误希望得到大家指点

一、图像拉普拉斯锐化模板:四方向模板:Laplace1=[0 -1 0;-1 4 -1;0 -1 0]

                                          八方向模板:Laplace2=[-1 -1 -1 ;-1 8 -1;-1 -1 -1]

     下面具体介绍拉普拉斯模板

    1.理论知识

          拉普拉斯算子是一个是n维欧几里德空间中的一个二阶微分算子,它的定义如下:

                 

         在x方向上

                

        在y方向上

                

       合起来就是

               

     拉普拉斯强调的是图像中灰度的突变,并不强调图像的灰度缓变(灰度缓变由一阶微分,也就是梯度,图像应用是sobel算子,具体下面介绍)

    根据上边的表达式,可以确定拉普拉斯算子的模板

    例如:

          [ 0 1 0

            1 -4 0

            0  1  0]

     这是以90度增量旋转的拉普拉斯算子,如果以45度增量旋转会是怎样的结果呢,结果如下:

          [1 1 1

           1 -8 1

           1  1 1]

八邻域表示法:


观察模板发现:当邻域内像素灰度相同时,卷积结果为0;当中心像素值高于邻域内其他像素平均灰度时,卷积结果为正;当中心像素灰度低于邻域其他像素平均灰度时候,卷积结果为负数,最后把卷积结果加到原中心像素,这样可以加剧中心像素与邻域像素灰度值的“贫富分化”,因而达到“锐化”目的。


代码实现:

不用库函数

  1. %拉普拉斯算子锐化图像,用二阶微分  
  2. %四邻接g(x,y)=[f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)]-4f(x,y)  
  3. clear  
  4. clc  
  5. I1=imread('D:\BingZhouWork\Image\lena.jpg');  
  6. I=im2double(I1);  
  7. [m,n,c]=size(I);  
  8. A=zeros(m,n,c);  
  9. %分别处理R、G、B  
  10. %先对R进行处理  
  11. for i=2:m-1  
  12.     for j=2:n-1  
  13.         A(i,j,1)=I(i+1,j,1)+I(i-1,j,1)+I(i,j+1,1)+I(i,j-1,1)-4*I(i,j,1);  
  14.     end  
  15. end  
  16.   
  17. %再对G进行处理  
  18. for i=2:m-1  
  19.     for j=2:n-1  
  20.         A(i,j,2)=I(i+1,j,2)+I(i-1,j,2)+I(i,j+1,2)+I(i,j-1,2)-4*I(i,j,2);  
  21.     end  
  22. end  
  23.   
  24. %最后对B进行处理  
  25. for i=2:m-1  
  26.     for j=2:n-1  
  27.         A(i,j,3)=I(i+1,j,3)+I(i-1,j,3)+I(i,j+1,3)+I(i,j-1,3)-4*I(i,j,3);  
  28.     end  
  29. end  
  30. B=I-A;  
  31.   
  32.  imwrite(B,'lena.tif','tif');  
  33.  imshow('D:\BingZhouWork\Image\lena.jpg');title('不清晰图像');figure  
  34.  imshow('lena.tif');title('得到的清晰图像')  

用matlab自带的fspecial函数实现:

[plain] view plain copy
  1. %matlab直接调用拉普拉斯方法  
  2. clear  
  3. clc  
  4. f=imread('D:\BingZhouWork\Image\unclear.jpg');  
  5. f2=im2double(f); %将f转换归一化的double类图像,然后进行滤波  
  6. w=fspecial('laplacian',0);  
  7. g1=imfilter(f,w,'replicate');  
  8. g=f-g1;  
  9. imshow(f);figure  
  10. imshow(g);  

图像锐化结果:


整理更新中...

参考:https://blog.csdn.net/zb1165048017/article/details/49330171


转载需注明出处:https://blog.csdn.net/qq_34793133/article/details/79946463

查看评论

数字图像处理,图像锐化算法的C++实现

之前一段我们提到的算法都是和平滑有关, 经过平滑算法之后, 图像锐度降低, 降低到一定程度, 就变成了模糊。 今天我们反其道行之, 我们看看锐化是怎么做的。 这里的锐化, 还是的从平滑谈开去。我们先来...
  • EbowTang
  • EbowTang
  • 2014-08-31 17:23:00
  • 3768

图像锐化-拉普拉斯算子

转自:http://blog.csdn.net/devil_pull/article/details/17246855 图像锐化(拉普拉斯算子): 将一副图像减去经过拉普拉斯滤波滞后的图像...
  • sky200543012
  • sky200543012
  • 2016-09-12 17:58:55
  • 3710

基于拉普拉斯算子的图像锐化

对于求一个锐化后的像素点(sharpened_pixel),这个基于拉普拉斯算子的简单算法主要是遍历图像中的像素点,根据领域像素确定其锐化后的值计算公式:sharpened_pixel = 5 * c...
  • Liuqz2009
  • Liuqz2009
  • 2015-08-13 21:27:01
  • 3639

cv-拉普拉斯算子锐化浅析

图像锐化处理的主要目的是突出图像中的细节或者增强被模糊了的细节,这种模糊一般由于错误操作或者是特殊图像获取方法的影响导致的。图像锐化的方法有很多,这里主要说下微分算子的方法来进行图像的锐化处理。总的来...
  • IAccepted
  • IAccepted
  • 2014-12-11 17:44:10
  • 8504

opencv入门学习之六:拉普拉斯Laplacian变换锐化图像

博客用于知识记录和学习交流,欢迎大家互动学习。 作者:JackGao16 CSDN文章链接: 邮箱:gshuai16@mail.ustc.edu.cn1、拉普拉斯变换锐化图像的原理拉普拉斯锐化图...
  • u013108511
  • u013108511
  • 2017-04-04 19:07:22
  • 2358

图像锐化拉普拉斯vc代码

void CSDIELSView::OnSharpeningLaplace() { //程序编制:李立宗 lilizong@gmail.com //2012-8-11 if(myImage1....
  • superdont
  • superdont
  • 2012-08-11 23:01:18
  • 2554

拉普拉斯(laplacian)滤波实现图像锐化分析

先上个简单的示例,看MATLAB中拉普拉斯滤波器是如何实现的: 令原图f=magic(3) f =      8     1     6      3     5     7      4    ...
  • scottly1
  • scottly1
  • 2015-03-22 22:25:04
  • 4265

图像锐化——高斯—拉普拉斯算子

/************************************************** * 功能: 设定指定位置的像素灰度 * 参数: imageBuf为目标图像 x,y为要设定像...
  • huixingshao
  • huixingshao
  • 2016-03-21 14:41:52
  • 4784

C#图片处理之: 锐化

使用数码相机,难免会拍糊一些照片。 但如果只是轻微糊掉,不妨可以尝试先锐化再缩小的办法补救。锐化看起来很神奇,可以在一定程度内把不清晰的变清晰,这个和柔化正好相反。其实锐化的算法说穿了很简单:取每一点...
  • ki1381
  • ki1381
  • 2007-04-17 21:39:00
  • 5015
    个人资料
    等级:
    访问量: 609
    积分: 206
    排名: 93万+
    文章存档