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

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

阈值化


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


简单阈值化


简单阈值化有五种如下表所示:

设定图像中像素值为X XX,阈值为T TT


1687224242452.png

自适应阈值化


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



自适应阈值化有二种方法:

对于要进行阈值化的图像,图像中每个像素都有自己对应的阈值。


自适应均值阈值化:阈值为每个像素邻近区域的像素值的均值

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

像素邻近区域(如下图所示,白色像素的邻近区域为蓝色像素部分):

e23ece062fb74005bf06c4713286b6a4.png


OTSU阈值化


Otsu 的原理是最小化类间方差,从像素分布直方图的角度来看就是在像素分布直方图的峰值之间找一个点,使得两个类之间的方差最大,类内方差最小


大白话说,就是选择图像中像素值出现次数最多的前二位,在这个二个像素值之间选取一个像素值作为阈值


算法对应应用场景


简单阈值化算法:适用于没有光线等其他环境因素下的图像。

自适应阈值化算法:适用于有光线等外在因素的图像。

OTSU阈值化算法:适用于OCR、车牌分割。


形态学变化


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


腐蚀


对于二值图像中由白色像素表示的形状,腐蚀操作会通过在内外两侧去掉一个像素来降低形状的厚度

2784433a30094a0c8d4ba221ae43503f.png

膨胀


与腐蚀相反,对于二值图像中由白色像素表示的形状,膨胀操作会通过在内外两侧增加一个像素来增加形状的厚度

6f7250f7f4444e66969469abf1d9a959.png


开运算


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


  1. 先执行腐蚀操作
  2. 再执行膨胀操作
  3. 8a3f5d184a39452ba44595ac3a220256.png
  4. 通俗的理解,图像中存在独立的噪声,先使用腐蚀,这些噪声就会变得更小甚至消失,这个时候再使用膨胀,就可以恢复到原来想要的像素。

闭运算


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

  1. 先执行膨胀操作
  2. 再执行腐蚀操作

82027c561ad6496ead783324046134f4.png

模糊(平滑)


模糊操作使用一个卷积核对图像进行卷积操作,简单来说就是将一个由特定构成的矩阵与图像的每个部分依次相乘,从而到达平滑的目的。模型操作有助于消除噪声和边缘

1c49decdf7654d7fb53d53aaa2b3c4a1.png


模糊卷积过程上图所示,这里输入进行模糊处理的图像为6x6,使用卷积核为3x3,进行卷积,从左到右,从上带下。


均值模糊


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


高斯模糊


算法原理:与均值模糊相识,不同的是用的不是卷积核而是高斯核,高斯核与卷积核不同的地方在于高斯核的数组是对称数组,并且其中的数值,位置越靠近数组中心值越大。



中值模糊


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

相关文章
|
1月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
202 0
|
3月前
|
编解码 算法
改进SIFT算法实现光学图像和SAR图像配准
改进SIFT算法实现光学图像和SAR图像配准
|
1月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
153 8
|
1月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
184 4
|
2月前
|
canal 算法 vr&ar
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
122 1
|
2月前
|
存储 监控 算法
基于文化优化算法图像量化(Matlab代码实现)
基于文化优化算法图像量化(Matlab代码实现)
104 1
|
2月前
|
存储 算法 生物认证
基于Zhang-Suen算法的图像细化处理FPGA实现,包含testbench和matlab验证程序
本项目基于Zhang-Suen算法实现图像细化处理,支持FPGA与MATLAB双平台验证。通过对比,FPGA细化效果与MATLAB一致,可有效减少图像数据量,便于后续识别与矢量化处理。算法适用于字符识别、指纹识别等领域,配套完整仿真代码及操作说明。
|
2月前
|
机器学习/深度学习 监控 并行计算
【图像增强】局部对比度增强的CLAHE算法直方图增强研究(Matlab代码实现)
【图像增强】局部对比度增强的CLAHE算法直方图增强研究(Matlab代码实现)
315 0
|
1月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
150 2
|
2月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
203 3

热门文章

最新文章