iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现图像增强
  • 980
分享到

Python实现图像增强

2024-04-02 19:04:59 980人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了python实现图像增强的具体代码,供大家参考,具体内容如下 题目描述:对于下面这幅图像(图 1),请问可以通过那些图像增强的手段,达到改善视觉效果的目的?请显示

本文实例为大家分享了python实现图像增强的具体代码,供大家参考,具体内容如下

题目描述:对于下面这幅图像(图 1),请问可以通过那些图像增强的手段,达到改善视觉效果的目的?请显示处理结果,并附简要处理流程说明。

图 1 原图 

常用的图像增强方法有以下几种:

1.提高对比度

采用了线性函数对图像的灰度值进行变换。

2.Gamma校正

采用了非线性函数(指数函数)对图像的灰度值进行变换。

3.直方图均衡化

将原始图像的直方图通过积分概率密度函数转化为概率密度为1(理想情况)的图像,从而达到提高对比度的作用。直方图均衡化的实质也是一种特定区域的展宽,但是会导致整个图像向亮的区域变换。当原始图像给定时,对应的直方图均衡化的效果也相应的确定了。

4.直方图规定化

针对直方图均衡化的存在的一些问题,将原始图像的直方图转化为规定的直方图的形式。一般目标图像的直方图的确定需要参考原始图像的直方图,并利用多高斯函数得到。

5. 中值、均值滤波器

均值滤波方法:对待处理的当前像素,选择一个模板,该模板为其邻近的若干个像素组成,用模板的均值来替代原像素的值的方法。

中值滤波方法:对待处理的当前像素,选择一个模板,该模板为其邻近的若干个像素组成,对模板的像素由小到大进行排序,再用模板的中值来替代原像素的值的方法。

从图像中我们可以看出,该图片带有很多椒盐噪声,并且图像有些暗,于是我们选择中值滤波方法对图片进行处理(中值滤波对椒盐噪声具有较好效果),并提高对比度和亮度。

处理流程:

第一步:采用中值滤波方法对图像进行处理,处理后,结果如图2所示:

图2 中值滤波

第二步:Gamma校正,处理后,结果如图3所示:

图3 Gamma校正

第三步:提升对比度,亮度,处理后,结果如图4所示:

图4 对比度、亮度提升

最后输出对比图,如图5所示:

图5 效果对比图 

Python代码:

#author:lph
#funtion:image enhance
 
import cv2
import numpy as np
from tkinter import *
from skimage import filters,exposure
import matplotlib.pyplot as plt
from skimage.morphology import disk
from matplotlib.font_manager import FontProperties
#读入图片
im = cv2.imread('./image/image.png',0)
im_copy = cv2.imread('./image/image.png',0)
#如果图片为空,返回错误信息,并终止程序
if im is None:
    print("图片打开失败!")
    exit()
#中值滤波去噪
medStep = 3 # 设置为3*3的滤波器
def m_filter(x, y, step):
    """中值滤波函数"""
    sum_s=[] # 定义空数组
    for k in range(-int(step/2),int(step/2)+1):
        for m in range(-int(step/2),int(step/2)+1):
            sum_s.append(im[x+k][y+m]) # 把模块的像素添加到空数组
    sum_s.sort() # 对模板的像素由小到大进行排序
    return sum_s[(int(step*step/2)+1)]
for i in range(int(medStep/2),im.shape[0]-int(medStep/2)):
    for j in range(int(medStep/2),im.shape[1]-int(medStep/2)):
        im_copy[i][j] = m_filter(i, j, medStep) # 用模板的中值来替代原像素的值
cv2.imshow("Median",im_copy)
#Gamma校正
img3 = exposure.adjust_gamma(im_copy,1.05)
cv2.imshow("Gamma", img3)
#对比度、亮度增强
def Contrast_and_Brightness(alpha,beta,img):
    """使用公式f(x)=α.g(x)+β"""
    #α调节对比度,β调节亮度
    blank = np.zeros(img.shape,img.dtype)#创建图片类型的零矩阵
    dst = cv2.addWeighted(img,alpha,blank,1-alpha,beta)#图像混合加权
    return dst
img4 = Contrast_and_Brightness(1.1,30,img3)
cv2.imshow("Contrast", img4)
#创建一个窗口
plt.figure('对比图',figsize=(7,5))
# 中文字体设置
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14) #新宋体
#显示原图
plt.subplot(121) #子图1
#显示原图,设置标题和字体
plt.imshow(im,plt.cm.gray), plt.title('处理前图片', fontproperties = font)
 
#显示处理过的图像
plt.subplot(122) #子图2
#显示处理后的图,设置标题和字体
plt.imshow(img4,plt.cm.gray), plt.title('处理后图片', fontproperties = font)
plt.show()
# 销毁所有窗口
cv2.destroyAllWindows()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Python实现图像增强

本文链接: https://www.lsjlt.com/news/119849.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现图像增强
    本文实例为大家分享了Python实现图像增强的具体代码,供大家参考,具体内容如下 题目描述:对于下面这幅图像(图 1),请问可以通过那些图像增强的手段,达到改善视觉效果的目的?请显示...
    99+
    2024-04-02
  • python实现图像增强算法
    本文实例为大家分享了python实现图像增强算法的具体代码,供大家参考,具体内容如下 图像增强算法,图像锐化算法 1)基于直方图均衡化 2)基于拉普拉斯算子 3)基于对数变换 4)基...
    99+
    2024-04-02
  • Python OpenCV实现图像增强操作详解
    目录创作背景图像亮度增强和降低旋转水平镜像和垂直镜像高斯噪声其它图像增强的方法创作背景 最近在忙着两个YOLOv7项目,通过看大量的论文,发现很多的相关的论文都会在收集图像后进行图像...
    99+
    2024-04-02
  • pytorch transforms图像增强实现方法
    目录一、前言二、图像处理下面为常见的图像变换1.原始图片2.调整图片大小transforms.Resize2.1.transforms.Resize(x)2.2.transforms...
    99+
    2023-05-14
    pytorch 图像增强 pytorch transforms图像增强 pytorch transforms
  • pytorch transforms图像增强怎么实现
    这篇文章主要介绍“pytorch transforms图像增强怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pytorch transforms图像增强怎么实现”文章能帮...
    99+
    2023-07-05
  • Python图像增强imgaug详解
    目录介绍Imgaug图像翻转图像旋转图像裁剪图像噪声图像剪切图像对比度图像转换图像边界框介绍 图像分类器通常在训练更多的图像时表现得更好。在图像分类模型中,一个常见的问题是,模型不能...
    99+
    2022-11-16
    Python图像增强imgaug Python imgaug
  • opencv-python图像增强解读
    目录图像增强算子几何变换算子图像金字塔算子图像平滑算子傅立叶变换算子形态学操作算子直方图均衡化Gamma变换总结图像增强算子 几何变换算子 ​ 图像的几何变换又称为图像空间变换, 它...
    99+
    2023-05-19
    opencv python图像增强 opencv python python图像增强
  • 如何使用OpenCV实现图像增强
    本篇内容介绍了“如何使用OpenCV实现图像增强”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本期将介绍如何通过图像处理从低分辨率/模糊/低...
    99+
    2023-06-20
  • 详解Python实现图像分割增强的两种方法
    方法一 import random import numpy as np from PIL import Image, ImageOps, ImageFilter from skim...
    99+
    2024-04-02
  • 图像数据增强算法汇总(Python)
    一、数据增强概述 数据增强是一种通过使用已有的训练样本数据来生成更多训练数据的方法,可以应用于解决数据不足的问题。数据增强技术可以用来提高模型的泛化能力,减少过拟合现象。比如在狗猫识别项目中,通过随机...
    99+
    2023-10-26
    1024程序员节 深度学习 计算机视觉 人工智能 机器学习
  • Python基于域相关实现图像增强的方法教程
    目录介绍昆虫增强使用针的增强实验结果介绍 当在图像上训练深度神经网络模型时,通过对由数据增强生成的更多图像进行训练,可以使模型更好地泛化。常用的增强包括水平和垂直翻转/移位、以一定角...
    99+
    2024-04-02
  • Python图像处理:频域滤波降噪和图像增强
    图像处理已经成为我们日常生活中不可或缺的一部分,涉及到社交媒体和医学成像等各个领域。通过数码相机或卫星照片和医学扫描等其他来源获得的图像可能需要预处理以消除或增强噪声。频域滤波是一种可行的解决方案,它可以在增强图像锐化的同时消除噪声。快速傅...
    99+
    2023-05-14
    Python 图像处理 数学技术
  • Python基于域相关实现图像增强的方法是什么
    这篇文章主要讲解了“Python基于域相关实现图像增强的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python基于域相关实现图像增强的方法是什么”吧!介绍当在图像上训练深度神经...
    99+
    2023-06-26
  • Python深度学习之使用Albumentations对图像做增强
    目录一、导入所需的库二、定义可视化函数显示图像上的边界框和类标签三、获取图像和标注四、使用RandomSizedBBoxSafeCrop保留原始图像中的所有边界框五、定义增强管道六、...
    99+
    2024-04-02
  • 深入浅出Python中三个图像增强库的使用
    目录介绍ImgaugAlbumentationsSOLT结论介绍 本文中探索三个流行的 Python 图像增强库。 图像分类器通常在训练更多的图像时表现得更好。在图像分类模型中,一个...
    99+
    2024-04-02
  • Torch中的图像增强技术有哪些
    随机水平翻转:通过随机地在图像水平方向翻转图像来增强数据。 随机垂直翻转:通过在图像垂直方向上随机翻转图像来增强数据。 随机旋转:...
    99+
    2024-04-02
  • OpenCV实现图片亮度增强或减弱
    本文实例为大家分享了OpenCV实现图片亮度增强或减弱的具体代码,供大家参考,具体内容如下 对每个像素点的三通道值进行同步放大,同时保持通道值在0-255之间 将图像中的像素限制在最...
    99+
    2024-04-02
  • Python怎么实现视频画质增强
    本文小编为大家详细介绍“Python怎么实现视频画质增强”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现视频画质增强”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。原理不知道大家小时候有没有玩过...
    99+
    2023-06-30
  • Python图像处理之图像增广算法详解
    目录前言图像增广算法a.图像旋转b.图像亮度调整c.图像裁剪及拼接本章小结前言 图像增广算法在计算机视觉领域扮演着至关重要的角色。随着深度学习的兴起,大规模数据集的需求变得更加迫切,...
    99+
    2023-05-20
    Python图像增广算法 Python图像处理 Python 算法
  • PaddlePaddle中有哪些常用的图像增强技术
    PaddlePaddle中常用的图像增强技术包括: 随机裁剪(RandomCrop):在训练图像中随机裁剪出指定大小的区域,可以...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作