python图像锐化滤波_Laplacian滤波器实现并用于图像锐化
一. 拉普拉斯滤波器简介:
我们知道:
拉普拉斯算子 ↑
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滤波器实现并用于图像锐化相关推荐
- 数字图像处理学习笔记4:图像增强之空间滤波2(一阶微分锐化滤波(梯度),二阶微分锐化(拉普拉斯),非锐化掩蔽)
文章目录 前言 一.一阶微分和二阶微分的定义 二.一阶微分锐化滤波:梯度 1.梯度 2.sobel算子及MATLAB代码 二.二阶微分锐化滤波:拉普拉斯算子 1.拉普拉斯算子 2.拉普拉斯算子MATL ...
- 图像语义分割_图像语义分割(9)-DeepLabV3: 再次思考用于图像语义分割的空洞卷积...
论文地址 :Rethinking Atrous Convolution for Semantic Image Segmentation 论文代码:Github链接 1. 摘要 文章主要的工作: 使用空 ...
- 图像的七个不变矩 可用于图像的匹配
图像的几何不变矩 矩特征主要表征了图像区域的几何特征,又称为几何矩, 由于其具有旋转.平移.尺度等特性的不变特征,所以又称其为不变矩.在图像处理中,几何不变矩可以作为一个重要的特征来表示物体,可以据此 ...
- 输电线路巡检红外图像与可见光图像融合数据集(含分割标签,1700多张图像),可见光图像,红外灰度图像,一一对应可用于图像配准
下载地址 :输电线路巡检红外图像与可见光图像融合数据集
- python 曲线平滑滤波
python 曲线平滑滤波 Savitzky-Golay滤波器 import numpy as np import matplotlib.pyplot as plt import scipy.sign ...
- 纯c语言实现的改进暗通道去雾算法测试程序(附赠大量测试图像),基于改进暗通道先验算法的图像去雾...
邱清辉 摘要:针对普通暗通道先验算法去雾能力的不足,本文提出了一种改进算法,通过采用高斯平滑将原图像分为基础子图和细节子图,基础子图采用暗通道先验算法,细节子图采用gamma变换方法,再采用图像融合进 ...
- 4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波)、有约束滤波器(维纳滤波器)
4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波).有约束滤波器(维纳滤波器) 文章目录 4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波).有约束滤波器(维纳滤波器) 1 算 ...
- python图像锐化滤波_OpenCV-Python学习(九):图像滤波
目录: 1.滤波的相关概念 2.卷积操作 3.平滑操作(低通滤波) 均值滤波 中值滤波 高斯滤波 双边滤波 4.锐化操作(高通滤波) 自定义锐化核 USM锐化(UnsharpMask) 5.梯度操作( ...
- 【python图像处理】图像的滤波(ImageFilter类详解)
在图像处理中,经常需要对图像进行平滑.锐化.边界增强等滤波处理.在使用PIL图像处理库时,我们通过Image类中的成员函数filter()来调用滤波函数对图像进行滤波,而滤波函数则通过ImageFil ...
- 图像滤波与滤波器基础知识
1,滤波与模糊 低通(低频能通过,高频不能通过)滤波就是模糊 高通(高频能通过,低频不能通过)滤波就是锐化 2.平滑处理 平滑处理也称模糊处理,是一种简单且使用频率很高的图像处理的方法,平滑的 用途很 ...
最新文章
- 滴滴成立AI Labs 加大人工智能领域投入
- Codeforces 535C - Tavas and Karafs
- 5G NPN 行业专网 — 高可靠专网部署方案
- php 数组 添加元素、删除元素
- 不是计算机专业学python能找到工作吗-本科学历,非计算机专业,想学Python找工作靠谱吗?...
- 计算机硬盘清理,电脑磁盘清理,详细教您电脑磁盘怎么清理
- chrome上很棒的爬虫插件,至少爬取博客够用了
- STL源码学习----集合相关算法
- RabbitMQ消息
- Qt工作笔记-QMap的进一步操作
- 晶体(谐振器)震荡电路与参数
- 清除windows 系统中 任意已安装任意版本的 .NET Framework
- python 基础知识
- 街霸四高难度连技模式全攻略
- 有线等效隐私 (WEP)
- Elsevier期刊投稿所遇到的问题及解决方案
- 【NLP】第8章 将 Transformer 应用于法律和财务文件以进行 AI 文本摘要
- 今日头条 爬虫 java_Java爬虫实践:Jsoup+HttpUnit爬取今日头条、网易、搜狐、凤凰新闻...
- libjpeg库和libpng库的移植和使用
- 你都是会点啥技术(四)--- Java