当前位置 : 主页 > 编程语言 > java >

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)

来源:互联网 收集:自由互联 发布时间:2022-06-30
在日常的做图像深度学习的时候,通常在拿到图像的时候也会像做机器学习算法应用一样,对数据进行预处理,我们也需要对图像进行一些预处理,目的也是为了去除数据中的噪声,去

在日常的做图像深度学习的时候,通常在拿到图像的时候也会像做机器学习算法应用一样,对数据进行预处理,我们也需要对图像进行一些预处理,目的也是为了去除数据中的噪声,去除在图像中没有用的像素


这里介绍三种基于opencv封装下的算法:

  • ​​阈值化​​
  • ​​简单阈值化​​
  • ​​自适应阈值化​​
  • ​​OTSU阈值化​​
  • ​​算法对应应用场景​​
  • ​​形态学变化​​
  • ​​腐蚀​​
  • ​​膨胀​​
  • ​​开运算​​
  • ​​闭运算​​
  • ​​模糊(平滑)​​
  • ​​均值模糊​​
  • ​​高斯模糊​​
  • ​​中值模糊​​

阈值化

大白话说就是给定图像一个像素值作为阈值,将图像中所有像素与这个像素阈值比较,如果大于或者小于这个阈值,就会将图像中这个像素改变会特定的像素值。

简单阈值化

简单阈值化有五种如下表所示:
设定图像中像素值为计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应,阈值为计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_卷积核_02

方法

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_卷积核_03

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_卷积核_04

阈值二值化

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_05

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_06

阈值反二值化

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_06

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_05

截断

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_09

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_卷积_10

阈值取零

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_05

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_09

阈值反取零

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_09

计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_05

自适应阈值化

对比简单阈值化,简单阈值化作用与全局的图像,即对整个图像做一种方法的处理,但是在图像中由于不同区域的光线状况不同,这种简单的处理效果就不会太好。自适应阈值化能够很好的对图像不同区域分别应用不同的阈值

自适应阈值化有二种方法:
对于要进行阈值化的图像,图像中每个像素都有自己对应的阈值。

  • 自适应均值阈值化:阈值为每个像素邻近区域的像素值的均值
  • 自适应高斯阈值化:阈值为每个像素邻近区域的像素值的加权和,相应权重是由一个高斯函数决定

像素邻近区域(如下图所示,白色像素的邻近区域为蓝色像素部分):
计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_卷积_15

OTSU阈值化

Otsu 的原理是最小化类间方差,从像素分布直方图的角度来看就是在像素分布直方图的峰值之间找一个点,使得两个类之间的方差最大,类内方差最小
大白话说,就是选择图像中像素值出现次数最多的前二位,在这个二个像素值之间选取一个像素值作为阈值

算法对应应用场景

简单阈值化算法:适用于没有光线等其他环境因素下的图像。
自适应阈值化算法:适用于有光线等外在因素的图像。
OTSU阈值化算法:适用于OCR、车牌分割。

形态学变化

形态学变化,是基于图像中形状的简单操作,通常处理二值化图像,通常将文本从背景或其他形状中区分处理。

腐蚀

对于二值图像中由白色像素表示的形状,腐蚀操作会通过在内外两侧去掉一个像素来降低形状的厚度
计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_16

膨胀

与腐蚀相反,对于二值图像中由白色像素表示的形状,膨胀操作会通过在内外两侧增加一个像素来增加形状的厚度
计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_卷积_17

开运算

开运算通常是用来去掉图像中的噪声,操作步骤:

  • 先执行腐蚀操作
  • 再执行膨胀操作
    计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_18
    通俗的理解,图像中存在独立的噪声,先使用腐蚀,这些噪声就会变得更小甚至消失,这个时候再使用膨胀,就可以恢复到原来想要的像素。
  • 闭运算

    闭运算通常是用来去掉形状内的孔洞,操作步骤:

  • 先执行膨胀操作
  • 再执行腐蚀操作
    计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_计算机视觉_19
  • 模糊(平滑)

    模糊操作使用一个卷积核对图像进行卷积操作,简单来说就是将一个由特定构成的矩阵与图像的每个部分依次相乘,从而到达平滑的目的。模型操作有助于消除噪声和边缘
    计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_卷积核_20
    模糊卷积过程上图所示,这里输入进行模糊处理的图像为6x6,使用卷积核为3x3,进行卷积,从左到右,从上带下。

    均值模糊

    算法原理:卷积核与图像对应的区域,相同位置的像素值一一相乘求和再除以9,取平均值,将平均值赋给图像的红色区域,依次卷积,其中卷积核中各数值都为1。

    高斯模糊

    算法原理:与均值模糊相识,不同的是用的不是卷积核而是高斯核,高斯核与卷积核不同的地方在于高斯核的数组是对称数组,并且其中的数值,位置越靠近数组中心值越大。
    计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)_自适应_21

    中值模糊

    算法原理:卷积核与图像对应的区域,相同位置的像素值一一相乘取中位数,将中位数值赋给图像的红色区域,依次卷积,其中卷积核中各数值都为1。


    网友评论