拉普拉斯算子图像增强
拉普拉斯算子空间域增强python
原理很简单,自己搜的时候发现有些人的代码结果完全不对,就离谱。比如图像是uint8,但是计算后的结果明显不在此区域就会导致溢出。这些部分处理不当可能会产生偏差,我自己处理完后是变清晰了,但是亮度下降了。和书上不完全一样,可能有地方写错了,欢迎指正。
代码里两个函数效果一样,不同的地方是对边缘处理与否
import numpy as np
import cv2
import os
import tifffile as tif
import matplotlib.pyplot as plt
import mathdef read_img(path):if os.path.exists(path):#获取文件夹下所有文件名files = os.listdir(path)#存储所有文件的绝对路径path_detail=[]#存储所有文件内容data=[]for f in files:path_detail.append(os.path.join(path,f ))img=cv2.imread(os.path.join(path,f))img=cv2.cvtColor(img, cv2.COLOR_BGR2RGB)data.append(img)return datadef laplace(img, filter):img=img.astype(np.int16)row, col = img.shapeimg_temp = np.zeros((row + 2, col + 2))img_temp=img_temp.astype(np.int16)img_temp[1:row + 1, 1:col + 1] = imgimg_empty = np.zeros(img.shape)img_empty=img_empty.astype(np.int16)for i in range(row):for j in range(col):img_empty[i,j] = np.sum(filter * img_temp[i:i+3,j:j+3])for i in range(1,row-1):for j in range(1,col-1):img[i,j]=img[i,j]+img_empty[i, j]if (img[i,j])<0:img[i,j]=0return [img,img_empty]def Laplc(img,filter):img=img.astype(np.int16)row,col=img.shapeimg_temp=np.zeros(img.shape)img_temp = img_temp.astype(np.int16)for i in range(1,row-1):for j in range(1,col-1):img_temp[i,j]=np.sum(filter*img[i-1:i+2,j-1:j+2])for i in range(1,row-1):for j in range(1,col-1):img[i,j]=img[i,j]+img_temp[i, j]if (img[i,j])<0:img[i,j]=0return [img,img_temp]if __name__=="__main__":#拉普拉斯算子fil1_1 = np.asarray([[0, 1, 0], [1, -4, 1], [0, 1, 0]])fil1_2 = -1 * fil1_1fil2_1 = np.asarray([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]])fil2_2 = -1 * fil2_1###读取图像img = tif.imread("C:\\Users\\34927\\Desktop\\work\\digital_image_processing\\img_work\\2022-ImagesSet\\moon.tif")plt.imshow(img,'gray')plt.show()# cv2.imshow("img",img)#平滑滤波#img = cv2.GaussianBlur (img, (3, 3), 0)[res,lp]=Laplc(img,fil2_1)plt.imshow(res,'gray')plt.show()"""显示标定的拉普拉斯图像只要保持其负数区域,不对其置0即可一般拉普拉斯图像显示要将负数区域置0即可原始图像加上拉普拉斯图像后,对于小于0的部分也是置0处理"""
拉普拉斯算子图像增强相关推荐
- 灰度图像--图像增强 拉普拉斯算子
学习DIP第34天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...
- 拉普拉斯算子原理 图像增强
数学基础 拉普拉斯算子,二阶微分线性算子,为什么上来就学二阶微分算子,前文说过,与一阶微分相比,二阶微分的边缘定位能力更强,锐化效果更好,所以我们来先学习二阶微分算子,使用二阶微分算子的基本方法是定义 ...
- OpenCV图像处理 空间域图像增强(图像锐化 1 基于拉普拉斯算子)
http://ggicci.blog.163.com/blog/static/210364096201262123236955/ OpenCV OpenCV 图像锐化 拉普拉斯算子 ( Laplaci ...
- 拉普拉斯算子原理 图像增强
转自:https://blog.csdn.net/huang1024rui/article/details/46537205 数学基础 拉普拉斯算子,二阶微分线性算子,为什么上来就学二阶微分算子,前文 ...
- 数字图像处理(图像增强)——拉普拉斯算子
二阶微分 与微积分中定义的微分略有不同,数字图像中处理的是离散的值,因此对于一维函数的一阶微分的基本定义是差值: ∂f∂x=f(x+1)−f(x)\frac{\partial f}{\partial ...
- 拉普拉斯图像增强C语言,拉普拉斯算子进行图像增强
先上个简单的示例,看MATLAB中拉普拉斯滤波器是如何实现的: 令原图f=magic(3) f = 8 1 6 3 5 7 4 9 2 掩膜采用标准Laplacian掩膜:w=fspecial('la ...
- 图像处理中的拉普拉斯算子
图像处理中的拉普拉斯算子 (2010-03-10 20:44:14) 转载▼ 标签: 算子 拉普拉斯变换 灰度 图像 杂谈 分类:图像处理 1.基本理论 拉普拉斯算子是最简单的各向同性微分算子,具有旋 ...
- c++ log函数_高斯拉普拉斯算子(Laplacian of Gaussian, LoG)
一.简要描述: 拉普拉斯算子是图像二阶空间导数的二维各向同性测度.拉普拉斯算子可以突出图像中强度发生快速变化的区域,因此常用在边缘检测任务当中.在进行Laplacian操作之前通常需要先用高斯平滑滤波 ...
- 【数字图像处理】图像锐化:拉普拉斯算子(Laplacian)、高通滤波、Sobel算子、Isotropic算子、Prewitt算子
图像锐化 图像锐化处理的目的是使模糊的图像变得更加清晰起来,通常针对引起图像模糊的原因而进行相应地锐化操作属于图像复原的内容.图像的模糊实质就是图像受到平均或积分运算造成的,因此可以对图像进行还原运算 ...
最新文章
- 无监督学习与有监督学习的本质区别是什么_人工智能中的无监督学习
- 一罐百事可乐的背后,竟藏着这些人工智能
- Windows8.1+Eclipse搭建Hadoop2.7.2本地模式开发环境
- 关于生态、大数据和穿戴设备以及IT创新的畅想
- 【面向对象】第一单元总结——表达式求导
- 【会议记录】第二次例会(10.06)记录
- 《Web全栈工程师的自我修养》
- Caffe阅读代码并修改
- proxomitron 个人代理工具
- 刷抖音18.5G、看视频22.5G,国美通报员工上班摸鱼:回应来了
- Flask 框架 是 Python 中最流行的 Web 框架之一
- CentOS7 安装ffmpeg
- uniapp引入阿里巴巴矢量图标库
- PFC2D学习笔记——柔性簇(cluster)生成
- 深入理解CatBoost
- vue微信内h5页面微信授权登录
- 如何用css实现元素固定宽高比?
- 怎样在matlab中使用多项式,MATLAB中的多项式运算
- 数据库空间存储已满,如何清理释放空间
- 计算机主机箱工作电流,电脑使用常识