【机器学习】图像预处理

参考

华为云学院

图像处理的形式

(1)单幅图像输入->单幅图像输出
(2)多幅图像输入->单幅图像输出
(3)单幅图像输入->数字或符号等内容输出
(4)多幅图像输入->数字或符号等内容输出
其中(1),(2)对数据的形式没有做出改变,所以属于图像的预处理。

图像预处理

图像预处理的方法包括:灰度变化,几何矫正,图像增强,图像滤波等。

灰度变换

将原始图像中一个点的灰度值,根据特定映射函数映射到另一个灰度值

反转

“黑色变为白色,白色变为黑色”
在这里插入图片描述

对比度增强

如下图像所示,(d2-d1)>(s2-s1),原始图像中灰度级出于[s1,s2]区间内的像素点呗拉伸到[d1,d2]区间,达到对比度增强的效果
在这里插入图片描述

对比度压缩

在这里插入图片描述

伽马矫正

在这里插入图片描述
伽马矫正的函数是y=cs^r,当r>1时,原本比较亮的地方的灰度被拉伸,对比度增强,可以“看得比较清楚”。暗的地方被压缩,对比度减弱,“越来越看不清楚”。当0<r<1时,情况刚好相反。
在这里插入图片描述

直方图

以灰度级为横坐标,纵坐标为灰度级出现频率的关系图称为灰度直方图,它反映了图像灰度的分布情况。针对直方图的图像变换是一种基于概率论的方法。相对于灰度变换只针对单独的像素操作,直方图变换中和考虑了全图的灰度图分布。
在这里插入图片描述

彩色直方图

在这里插入图片描述

直方图均衡化

调整原始图像的直方图,使之呈均衡分布的样式,可以有效增强图像的整体对比度。
在这里插入图片描述

直方图规定化

调整原始图像的直方图,使得概率分布逼近目标直方图的概率分布

空间滤波

灰度变换是点变换,输出值和指定像素点相关,直方图变换是全局处理,输出值和整幅图像相关。空间滤波是一种局部处理方式,像素p的输出值由p机器领域N的像素值确定(卷积核)。
计算方法是将领域N的像素值和同样尺寸的子图像进行模板运算。子图像呗称为“模板”、“核”或“滤波器”,常用的有模板卷积核模板排序。

模板运算

记滤波器是一副nxn的图像w,n一般为奇数,每个位置上值称为权重w,原始图像的灰度值为s,计算后的值为d,则p点的输出值为:
在这里插入图片描述
模板排序将邻域N的像素值进行排序,然后选择特定序号的灰度值。

均值滤波

用于图像平滑,去噪声,但是如果模板尺寸增大,图像会变得模糊,也用于图像的模糊化。
在这里插入图片描述

高斯滤波

高斯滤波可以减少模糊化。
在这里插入图片描述

中值滤波

属于模板排序范畴,对椒盐噪声的抑制效果很好,但是这种处理方式是非线性的,所以会破坏像素点之间的线性关系,不适用于点、线等细节较多的图像或高精度图像。
在这里插入图片描述

图像锐化

突出图像中的边缘、轮廓线和图像细节,最常用的方法是梯度法。对于离散图像的梯度,一阶偏导数采用一阶差分近似表示
在这里插入图片描述
在这里插入图片描述
二阶差分
在这里插入图片描述

边缘检测

边缘检测的算子主要有:Prewitt算子(一阶)、Sobel(一阶)、Laplacian(二阶)
在这里插入图片描述
在这里插入图片描述

图像锐化实现

将求取的边缘按照一定系数比例叠加到原始图像上,即可实现对图像的锐化。
在这里插入图片描述

坐标转换

图像的坐标变换称为图像的几何计算,常见的包括:平移、旋转、镜像、缩放等。
这些变换都可以通过坐标向量和变换矩阵的乘法操作实现。

平移

在这里插入图片描述
在这里插入图片描述

镜像

水平镜像和垂直镜像的变换矩阵分别如下:
在这里插入图片描述
在这里插入图片描述

旋转

在这里插入图片描述
如果旋转轴不处于原点,变换矩阵的计算会比较复杂,可借助平移来简化操作
(1)通过平移将旋转轴移动至原点。
(2)基于旋转轴为原点的旋转变换。
(3)通过平移将旋转轴恢复到原始位置。
在这里插入图片描述

缩放

将分辨率为(w,h)的图像,缩放为(w’,h’)。则水平方向的缩放系数Sx = w’/w,垂直方向的缩放系数为Sy = h’/h
在这里插入图片描述
在这里插入图片描述
实际上数字图像中的(x,y)的值都是整数,但是坐标变换后的(x’,y’)不一定是整数,非整数坐标处的像素值需要用周围整数坐标的像素值来计算,这个过程叫“插值”。

最邻近插值

直接用最靠近(x’,y’)的整数坐标处的灰度值作为(x’,y’)的值。这种方法计算量小,精确度不高,并且会破坏图像的线性关系。

双线性插值

使用(x’,y’)最近邻的四个像素值进行插值计算。
在这里插入图片描述

仿射变换

包括平移、缩放、旋转、镜像等。保留了图像的“平行性”和“平直性”
在这里插入图片描述
仿射变换T矩阵有6个参数,需要3个像素点变换前后的对应坐标。
在这里插入图片描述

透视变换

在实际三维空间中,图像的畸变存在近大远小的特征,仿射变换不能进行修正。此时需要透视变换
在这里插入图片描述
透视变换矩阵有8个参数,所以需要4个像素点变换前后的对应坐标来求取。
在这里插入图片描述

彩色图像处理

有两种思路可对多通道图像进行处理
(1)把它看做多幅单通道图像的组合体。
(2)将每个像素看做一个多维度的向量。

图像预处理技术在深度学习中的应用

经常用作训练数据集的数据增强(data augmentation),常用方法有:缩放,拉伸,加入噪点,翻转,旋转,平移,剪切,对比度调整,通道变换。

图像预处理机器学习中非常重要的一步,它可以对图像进行一系列的处理和转换,以便更好地提取有用的特征,从而提高模型的准确性。在 Python 中,有很多强大的图像处理库可以用来进行图像预处理,下面简单介绍一些常用的库和方法: 1. OpenCV:OpenCV 是一个跨平台的计算机视觉库,支持多种编程语言,包括 Python。它提供了丰富的图像处理计算机视觉算法,可以用来进行图像预处理、特征提取、目标检测等任务。 2. PIL(Python Imaging Library):PIL 是 Python 中另一个常用的图像处理库。它提供了基本的图像处理功能,包括图像缩放、裁剪、旋转、色彩调整等。 3. NumPy:NumPy 是 Python 中一个强大的数学计算库,也可以用来进行图像处理。它提供了高效的数组操作和数学函数,可以用来进行图像的数组化处理和统计分析。 4. Matplotlib:Matplotlib 是 Python 中一个流行的数据可视化库,也可以用来显示和处理图像。它提供了各种绘图函数和工具,可以用来显示图像、绘制直方图、散点图等。 常用的图像预处理方法包括: 1. 缩放和裁剪:对图像进行缩放和裁剪可以调整图像大小和比例,以适应不同的模型和任务需求。 2. 色彩调整:调整图像的亮度、对比度、饱和度等可以改变图像的颜色和明暗度,以便更好地提取特征。 3. 滤波:应用不同的滤波器可以平滑图像、增强边缘、去除噪声等。 4. 形态学处理:形态学处理可以用来提取图像的形状和结构信息,包括膨胀、腐蚀、开运算、闭运算等。 5. 特征提取:使用特征提取算法可以从图像中提取出有用的特征,用于分类、检测和识别等任务。常用的特征提取算法包括 SIFT、SURF、HOG 等。 以上是一些常用的图像预处理库和方法,具体的使用可以根据具体的任务需求进行选择和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值