一. 拉普拉斯滤波器简介:

我们知道:

拉普拉斯算子 ↑

x方向上二阶偏导数的数值近似计算 ↑

y方向上二阶偏导数的数值近似计算 ↑

拉普拉斯算子在平面内的数值近似 ↑

拉普拉斯滤波器卷积核表示 ↑

二. 3*3的laplacian滤波器实现

# laplacian filter

def laplacian_filter(img, K_size=3):

H, W = img.shape

# zero padding

pad = K_size // 2

out = np.zeros((H + pad * 2, W + pad * 2), dtype=np.float)

out[pad: pad + H, pad: pad + W] = img.copy().astype(np.float)

tmp = out.copy()

# laplacian kernle

K = [[0., 1., 0.],[1., -4., 1.], [0., 1., 0.]]

# filtering

for y in range(H):

for x in range(W):

out[pad + y, pad + x] = np.sum(K * (tmp[y: y + K_size, x: x + K_size]))

out = np.clip(out, 0, 255)

out = out[pad: pad + H, pad: pad + W].astype(np.uint8)

return out

三. 利用laplacian滤波器实现图像的锐化

由于拉普拉斯是一种微分算子,它的应用可增强图像中灰度突变的区域,减弱灰度的缓慢变化区域。

因此,锐化处理可选择拉普拉斯算子对原图像进行处理,产生描述灰度突变的图像,再将拉普拉斯图像与原始图像叠加而产生锐化图像:

使用拉普拉斯滤波器实现的图像锐化算法 ↑

其中,f(x,y)为原始图像,g(x,y)为锐化后图像,c为-1(卷积核中间为负数时,若卷积核中间为正数,则c为1)。

四. 通过laplacian滤波器实现图像锐化 python源码

import cv2

import numpy as np

# Image sharpening by laplacian filter

def laplacian_sharpening(img, K_size=3):

H, W = img.shape

# zero padding

pad = K_size // 2

out = np.zeros((H + pad * 2, W + pad * 2), dtype=np.float)

out[pad: pad + H, pad: pad + W] = img.copy().astype(np.float)

tmp = out.copy()

# laplacian kernle

K = [[0., 1., 0.],[1., -4., 1.], [0., 1., 0.]]

# filtering and adding image -> Sharpening image

for y in range(H):

for x in range(W):

# core code

out[pad + y, pad + x] = (-1) * np.sum(K * (tmp[y: y + K_size, x: x + K_size])) + tmp[pad + y, pad + x]

out = np.clip(out, 0, 255)

out = out[pad: pad + H, pad: pad + W].astype(np.uint8)

return out

# Read Gray Scale image

img = cv2.imread("../paojie_g.jpg",0).astype(np.float)

# Image sharpening by laplacian filter

out = laplacian_sharpening(img, K_size=3)

# Save result

cv2.imwrite("out.jpg", out)

cv2.imshow("result", out)

cv2.waitKey(0)

cv2.destroyAllWindows()

五. 实验结果:

锐化后图像 ↑

原图 ↑

六. 参考内容

python图像锐化滤波_Laplacian滤波器实现并用于图像锐化相关推荐

  1. 数字图像处理学习笔记4:图像增强之空间滤波2(一阶微分锐化滤波(梯度),二阶微分锐化(拉普拉斯),非锐化掩蔽)

    文章目录 前言 一.一阶微分和二阶微分的定义 二.一阶微分锐化滤波:梯度 1.梯度 2.sobel算子及MATLAB代码 二.二阶微分锐化滤波:拉普拉斯算子 1.拉普拉斯算子 2.拉普拉斯算子MATL ...

  2. 图像语义分割_图像语义分割(9)-DeepLabV3: 再次思考用于图像语义分割的空洞卷积...

    论文地址 :Rethinking Atrous Convolution for Semantic Image Segmentation 论文代码:Github链接 1. 摘要 文章主要的工作: 使用空 ...

  3. 图像的七个不变矩 可用于图像的匹配

    图像的几何不变矩 矩特征主要表征了图像区域的几何特征,又称为几何矩, 由于其具有旋转.平移.尺度等特性的不变特征,所以又称其为不变矩.在图像处理中,几何不变矩可以作为一个重要的特征来表示物体,可以据此 ...

  4. 输电线路巡检红外图像与可见光图像融合数据集(含分割标签,1700多张图像),可见光图像,红外灰度图像,一一对应可用于图像配准

    下载地址 :输电线路巡检红外图像与可见光图像融合数据集

  5. python 曲线平滑滤波

    python 曲线平滑滤波 Savitzky-Golay滤波器 import numpy as np import matplotlib.pyplot as plt import scipy.sign ...

  6. 纯c语言实现的改进暗通道去雾算法测试程序(附赠大量测试图像),基于改进暗通道先验算法的图像去雾...

    邱清辉 摘要:针对普通暗通道先验算法去雾能力的不足,本文提出了一种改进算法,通过采用高斯平滑将原图像分为基础子图和细节子图,基础子图采用暗通道先验算法,细节子图采用gamma变换方法,再采用图像融合进 ...

  7. 4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波)、有约束滤波器(维纳滤波器)

    4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波).有约束滤波器(维纳滤波器) 文章目录 4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波).有约束滤波器(维纳滤波器) 1 算 ...

  8. python图像锐化滤波_OpenCV-Python学习(九):图像滤波

    目录: 1.滤波的相关概念 2.卷积操作 3.平滑操作(低通滤波) 均值滤波 中值滤波 高斯滤波 双边滤波 4.锐化操作(高通滤波) 自定义锐化核 USM锐化(UnsharpMask) 5.梯度操作( ...

  9. 【python图像处理】图像的滤波(ImageFilter类详解)

    在图像处理中,经常需要对图像进行平滑.锐化.边界增强等滤波处理.在使用PIL图像处理库时,我们通过Image类中的成员函数filter()来调用滤波函数对图像进行滤波,而滤波函数则通过ImageFil ...

  10. 图像滤波与滤波器基础知识

    1,滤波与模糊 低通(低频能通过,高频不能通过)滤波就是模糊 高通(高频能通过,低频不能通过)滤波就是锐化 2.平滑处理 平滑处理也称模糊处理,是一种简单且使用频率很高的图像处理的方法,平滑的 用途很 ...

最新文章

  1. 滴滴成立AI Labs 加大人工智能领域投入
  2. Codeforces 535C - Tavas and Karafs
  3. 5G NPN 行业专网 — 高可靠专网部署方案
  4. php 数组 添加元素、删除元素
  5. 不是计算机专业学python能找到工作吗-本科学历,非计算机专业,想学Python找工作靠谱吗?...
  6. 计算机硬盘清理,电脑磁盘清理,详细教您电脑磁盘怎么清理
  7. chrome上很棒的爬虫插件,至少爬取博客够用了
  8. STL源码学习----集合相关算法
  9. RabbitMQ消息
  10. Qt工作笔记-QMap的进一步操作
  11. 晶体(谐振器)震荡电路与参数
  12. 清除windows 系统中 任意已安装任意版本的 .NET Framework
  13. python 基础知识
  14. 街霸四高难度连技模式全攻略
  15. 有线等效隐私 (WEP)
  16. Elsevier期刊投稿所遇到的问题及解决方案
  17. 【NLP】第8章 将 Transformer 应用于法律和财务文件以进行 AI 文本摘要
  18. 今日头条 爬虫 java_Java爬虫实践:Jsoup+HttpUnit爬取今日头条、网易、搜狐、凤凰新闻...
  19. libjpeg库和libpng库的移植和使用
  20. 你都是会点啥技术(四)--- Java

热门文章

  1. [翻译] LaTeX Error: Can be used only in preamble
  2. Python编程基础及应用
  3. linux 修改文件类型
  4. 吉哥系列故事——礼尚往来
  5. 计算机表格怎么添加单下划线,如何在excel表格中添加并设置下划线
  6. 微信小程序 SEO 指南
  7. WORD文档-最后一页空白页无法删除
  8. 织梦后台登陆不上提示验证码不正确
  9. 微软开源项目NeuronBlocks:像搭积木一样构建自然语言理解深度学习模型
  10. 5GC 会话建立流程