浅析基于Python的图像增强技术
摘要:本文从Python和OpenCV软件的关系入手,介绍了通过Python进行图像增强的可以实现提高图像对比度等作用,以及图片增强的三种方法,从而达到扩大图像中不同物体特征之间的差别,为图像的信息提取及其识别奠定良好基础的作用。
关键词:Python、OpenCV、图像增强
一、概述
OpenCV的全称open Sourse Computer Vision Library ,是一个跨平台的计算机视觉库,OpenCV可用于开发实时的图像处理,计算机视觉以及模式识别的程序。OpenCV是用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口,该库也有大量的Python,Java和MATLAB的接口,另外,一个使用CUDA的GPU接口也用于2010.9 开始实现。Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。例如,Web 和 Internet开发、科学计算和统计、教育、桌面界面开发、软件开发、后端开发等。虽然python很强大,而且也有自己的图像处理库PIL,但是相对于OpenCV来讲,它还是弱小很多。OpenCV包含了超过2500个算法和函数,几乎任何一个能想到的成熟算法都可以通过调用OpenCV的函数来实现。跟很多开源软件一样OpenCV也提供了完善的python接口,非常便于调用。
二、Python图像增强的目的
在实际操作过程中,有时使用到的图片不能满足我们的需要,这就需要对图像进行增强操作。通过图像增强,我们可以实现改变图像的灰度等级,提高图像对比度,消除边缘和噪声,平滑图像;突出边缘或者线性地物,锐化图像;合成彩色图像;压缩图像数据量,突出主要信息等。图像增强的主要体现在空间域增强、频率域增强、彩色增强、多图像代数运算、多光谱图像增强等。在图像分类任务中,图像数据增强一般是大多数人会采用的方法之一,这是由于深度学习对数据集的大小有一定的要求,若原始的数据集比较小,无法很好地满足网络模型的训练,从而影响模型的性能,而图像增强是对原始图像进行一定的处理以扩充数据集,能够在一定程度上提升模型的性能。
三、图片增强的方法
图像增强是图像模式识别中非常重要的图像预处理过程。图像增强的目的是通过对图像中的信息进行处理,使得有利于模式识别的信息得到增强,不利于模式识别的信息被抑制,扩大图像中不同物体特征之间的差别,为图像的信息提取及其识别奠定良好的基础。图像增强按实现方法不同可分为点增强、空域增强和频域增强。
1、点增强:点增强主要指图像灰度变换和几何变换。图像的灰度变换也称为点运算、对比度增强或对比度拉伸,它是图像数字化软件和图像显示软件的重要组成部分。灰度变换是一种既简单又重要的技术,它能让用户改变图像数据占据的灰度范围。一幅输入图像经过灰度变换后将产生一幅新的输出图像,由输入像素点的灰度值决定相应的输出像素点的灰度值。灰度变换不会改变图像内的空间关系。图像的几何变换是图像处理中的另一种基本变换。它通常包括图像的平移、图像的镜像变换、图像的缩放和图像的旋转。通过图像的几何变换可以实现图像的最基本的坐标变换及缩放功能。
2、空域增强:图像的空间信息可以反映图像中物体的位置 、形状、大小等特征,而这些特征可以通过一定的物理模式来描述。例如,物体的边缘轮廓由于灰度值变化剧烈一般出现高频率特征,而一个比较平滑的物体内部由于灰度值比较均一则呈现低频率特征。因此,根据需要可以分别增强图像的高频和低频特征。对图像的高频增强可以突出物体的边缘轮廓,从而起到锐化图像的作用。例如,对于人脸的比对查询,就需要通过高频增强技术来突出五宫的轮廓。相应地,对图像的低频部分进行增强可以对图像进行平滑处理,一般用于图像的噪声消除。
3、频域增强:图像的空域增强一般只是对数字图像进行局部增强,而图像的频域增强可以对图像进行全局增强。频域增强技术是在数字图像的频率域空间对图像进行滤波,因此需要将图像从空间域变换到频率域,一般通过傅里叶变换实现。在频率域空间的滤波与空域滤波一样可以通过卷积实现,因此傅里叶变换和和卷积理论是频域滤波技术的基础。

增强前 增强后
在Python的帮助下,我们可以很好的将图片进行处理,以达到我们满意的效果,并且应用于实际操作中。
参考文献:
[1]李东方.Python程序设计基础[M].北京:电子工业出版社,2017:192- 196.
[2]张若愚 Python 科学计算【M】.北京:清华大学出版社.2012
[3]李旭.Python语言在自动化考卷系统中的应用研究[D].技术与教育,2017(4):7-8.
作者简介: 江丽丽, 女, 1981.7;籍贯:江苏徐州;职称:讲师;学历:硕士;单位:江苏安全技术职业学院;研究方向:计算机程序设计、计算机应用.;