一、基础知识

积分运算的模板卷积可以平滑图像,微分运算的模板卷积可以锐化图像

拉普拉斯算子是一种各向同性的二阶微分算子,根据定义有:

说明:各向同性指图像的性质不会因为方向不同而变化。

将两个分别沿X和Y方向方向的二阶偏导数分别借助差分计算:

由上式则可知4-邻域的拉普拉斯算子模板的各个系数,同理可知8-邻域的拉普拉斯算子模板的各个系数,如下图:

说明:

两种模板的所有系数之和均为0,这是为了经过模板运算所得的结果图像均值不变。

使用该模板有可能使输出灰度值小于0,还需将灰度值范围通过变换变回到[0,L-1]区间才能正确显示出来。

拉普拉斯算子增强了图像中的灰度不连续边缘,而减弱了对应图像中灰度值缓慢变化区域的对比度,将这样的结果叠加到原始图像上就能得到锐化后的图像。

二、代码实现

几个需要说明的函数:

cv2.Laplacian(src, ddepth[, dst[, ksize[, scale[, delta[, borderType]]]]])

src——源图像

ddepth——目标图像的所需深度(指存储每个像素所用的位数,也用于量度图像的色彩分辨率)

import cv2

import matplotlib.pyplot as plt

#显示函数

def showImages(images):

for i in range(len(images)):

img = images[i]

title = "("+str(i+1)+")"

#行,列,索引

plt.subplot(2, 3, i+1)

plt.imshow(img, cmap="gray")

plt.title(title,fontsize=10)

plt.xticks([])

plt.yticks([])

plt.show()

#主函数

if __name__ == "__main__":

image = cv2.imread("graysenery.jpg", 0)

imageLap3 = cv2.Laplacian(image,cv2.CV_64F, ksize=3)

imageLap5 = cv2.Laplacian(image, cv2.CV_64F, ksize=5)

imageLap7 = cv2.Laplacian(image, cv2.CV_64F, ksize=7)

imageLap9 = cv2.Laplacian(image, cv2.CV_64F, ksize=9)

imageLap11 = cv2.Laplacian(image, cv2.CV_64F, ksize=11)

images = [image, imageLap3, imageLap5, imageLap7, imageLap9, imageLap11]

showImages(images)

python 拉普拉斯锐化_OpenCV-python 实现基于拉普拉斯算子的图像锐化相关推荐

  1. 【OpenCV图像处理入门学习教程四】基于LoG算子的图像边缘检测

    OpenCV图像处理入门学习教程系列,上一篇第三篇:基于SIFT特征和SURF特征的微旋转图像拼接与融合生成全景图像的比较 LoG边缘检测算子 LoG边缘检测算子是David Courtnay Mar ...

  2. OpenCV_基于Laplacian算子的图像边缘增强

    下面代码实现了基于Laplacian算子的图像边缘增强 . 算法: 边缘增强图像 = 源图像 + 边缘图像 // 基于Laplacian算子的图像边缘增强 // Author: www.icvpr.c ...

  3. python绘制汉字_OpenCV Python 绘制中文字

    By 凌顺 2019年9月12日 本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 通过使用PLI在图片上添加中文字符. PIL(Pyt ...

  4. python 创建画板_OpenCV +Python 制作画板

    首先声明一下,本例思路不是博主原创,博主在前人的代码上进行了个性化的修改,制作了一个简单的画图工具.下面附上自己的理解,与君共勉. 效果图 画图工具实现 代码 # coding:utf-8 impor ...

  5. 基于Sobel算子的图像边缘检测

    一.Sobel算子 Sobel边缘检测算法比较简单,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,然而在很多实际应用的场合,sobel边缘却是首选,Sobel算子是高斯 ...

  6. python均值滤波_opencv+python实现均值滤波

    本文实例为大家分享了opencv+python实现均值滤波的具体代码,供大家参考,具体内容如下 原理 均值滤波其实就是对目标像素及周边像素取平均值后再填回目标像素来实现滤波目的的方法,当滤波核的大小是 ...

  7. python 超参数_OpenCV python sklearn随机超参数搜索的实现

    """ 房价预测数据集 使用sklearn执行超参数搜索 """ import matplotlib as mpl import matpl ...

  8. python opencv保存图片_OpenCV Python 保存图片

    By 凌顺 2019年9月12日 本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 通过无损和有损的方式进行图片保存. 实现代码 1,加 ...

  9. python opencv 摄像头_opencv python中摄像头参数的设置

    我正在使用Windows7 64位操作系统以及Python3和OpenCV.我的电脑连接到以下型号的两个罗技网络摄像头: 1)罗技高清网络摄像头C615 2) 罗技QuickCam Pro 9000 ...

最新文章

  1. ACL 2019 知识图谱的全方位总结
  2. 中国首个火星探测器天问一号发射成功!
  3. python基本使用-Python字典及基本操作(超级详细)
  4. 走向管理:建立工作汇报机制
  5. 决定局域网的主要技术要素
  6. [ CodeForces 865 D ] Buy Low Sell High
  7. Android --- adapter.notifyDataSetChanged() 不起作用怎么办
  8. NIOS II软核处理器
  9. 阿里巴巴数据库分库分表的最佳实践
  10. mysql盲注ascii_[翻译]关于通过对8bit的ascii做右位移提高mysql盲注效率
  11. [洛谷P1156][codevs1684]垃圾陷阱
  12. gitbook mac 版本的安装
  13. 数学物理中希腊字母的手写体笔顺及写法
  14. 计算机模拟仿真技术是什么,仿真与模拟
  15. 计算机综合应用教材,系统测评计算机综合应用技能期末作业教材.doc
  16. QT之如何添加现有文件
  17. #12304;#28404;#28404;#37329;#34701;#23458;#26381;#30005;#35805;#12305;
  18. Python OpenCV 写入视频
  19. 生物信息学在生物医药领域的应用
  20. mysql数据库事务的实现原理

热门文章

  1. 传统零售怎么转型到新零售
  2. 中亦科技在创业板IPO恢复审核状态,徐晓飞不再担任执业律师
  3. 西瓜书+南瓜书--打卡(第一次)
  4. Go语言学习笔记 (网络编程)
  5. 《ASP.NET Core 6框架揭秘》实例演示[19]:数据加解密与哈希
  6. 如何修改Docker镜像地址
  7. 发光二极管(LED)的导通电压
  8. 计算机英语新词的认知语义阐释论文,计算机英文专业论文题目 计算机英文论文题目怎样定...
  9. 希捷硬盘的问题/移动硬盘/USB 硬盘和芯片
  10. 【EduCoder答案】博客系统 - 登录注册界面