Fork me on GitHub

传统算法整理笔记

对于工业复杂场景检测,必不可能使用传统图像处理方法实现

机器视觉分为三个阶段 : 图像转化、图像分析、图像理解
图像分析:对图像中感兴趣的⽬标进⾏检测和测量,以获得他们的客观信息,从⽽建⽴对图像的描述。
图像理解:重点是在图像分析的基础上,进⼀步研究图像中各⽬标的性质和它们之间的相互联系,并得出对图像内容含义的理解以及对原来客观场景的解释,从⽽指导和规划⾏动。

1、伽马变换
也就是指数变换,用来进行图像增强,提高暗部细节,即通过非线性变换,将漂白 (相机曝光) 或过暗 (曝光不足) 的图片, 进行矫正。
其中,r是某个点变换前的像素值,s是变换后的像素值,c(一般让c=1)和γ是正常数(γ \gammaγ 其实就是伽马)。

2、关于傅里叶变换
时域:肉眼所看到的图像是时域方向,图像中像素的亮度、颜色、位置分布对应着时域中的空间坐标信息。
频域:时域经由傅里叶变换转换而来,他将图像信息分解为不同频率的正弦或者余弦成分,在频域中,图像不再按照位置表达,而是按照不同频率的成分来表示图像的变化,比如高频(灰度尖锐)成分对应细节和边缘,低频成分(变化缓慢的灰度变量)对应平滑区域(频域就是伴随着时域变化的像素值频率分布)
能通过高频的滤波器称为高通滤波器,通过低频的滤波器称为低通滤波器。
将图像通过低通滤波器可以衰减高频,模糊一张图片
将图像通过高频滤波器可以衰减低频 ,会增强图像的尖锐细节,但是会导致拉低图像的对比度。

3、边界修复
3.1 边界修复---基于傅里叶变换的边界修复方法
3.1.1周期延拓法:
基于傅里叶变换后的频域图像,根据周期性将图像破损区域填充成周期性结构。
3.1.2频率滤波方法:
某一些的边界破损会引入高频噪声导致图像边缘不稳定,通过低通滤波或者带通滤波去除这些高频噪声,平滑边界。这种方法视情况而定,有的是边界消失导致高频消失增加了低频噪声。
3.2 图像形态学处理
腐蚀、膨胀、开运算、闭运算、骨架抽取、极线腐蚀、击中击不中变换、Top-hat变换、颗粒分析、流域变换、形态学梯度等。其中最基本的形态学操作是:膨胀(dilation)和腐蚀(erosion)两种操作

腐蚀、膨胀、开运算、闭运算等是针对二值图像及灰度图像的操作,对于彩色图像的形态学处理是依靠分通道进行形态学操作
形态学是基于结构元素与目标图像相应区域进行“与或操作”
滤波是将过滤器与目标图像相应区域进行数学计算(例如:加权求和)
基础概念:
结构元素:形态学处理中的结构元素类似于“滤波核”的元素,类似于一个小窗在图像上进行滑动,可以指定其形状和大小。结构元素一般由0和1的二值像素组成。结构越大,被腐蚀或膨胀的区域越大。

3.2.1 膨胀
与腐蚀相反,膨胀是对选区进行“扩大”的一种操作。其原理是使用一个自定义的结构元素,在待处理的二值图像上进行类似于“滤波”的滑动操作,然后将二值图像对应的像素点与结构元素的像素进行对比,得到的并集为膨胀后的图像像素。
经过膨胀操作,图像区域的边缘可能会变得平滑,区域的像素将会增加,不相连的部分可能会连接起来,这些都与腐蚀操作正好相反。即使如此,原本不相连的区域任然属于各自的区域,不会因为像素重叠就发生合并。(结构元素的值与原图像像素不是一样的,所以膨胀之后图像会存在一定程度上的合并,并不是完全连体)
例如:

3.2.2 腐蚀
二值图像中腐蚀是结构元素与图像做”与运算”(交集) ,如果结构元素与目标图像中的区域都相同,则目标图像中心为1;否则为0;对于边缘区域,某些多余区域默认为1.

在灰度图像中,为了保存灰度信息,“与”操作被替换成“最小值”操作。例如:

3.2.3开运算:先腐蚀后膨胀
用来消除图像中的细小对象,也可以把相隔很近的区域分隔开,在纤细点处分离物体和平滑较大物体的边界而又不明显改变其面积和形状,所有小到不能容纳结构元素的物体都会被移除。
例如:

3.2.4闭运算:先膨胀后腐蚀
用来填充目标内部的细小孔洞或裂缝,连接断开的临近像素块,在不改变物体面积和形状的情况下平滑其边界,所有小到不能完整容纳结构元素的细小孔洞或裂缝都会被闭运算填充。
与单独的膨胀操作不同的是,闭运算在填空隙的同时,不会使图像边缘轮廓加粗。
例子:

最后:二值化图像形态学处理与灰度图像形态学处理的区别
当输入是二值化图像的时候,形态学运算改变的是区域形状,如通过腐蚀缩小区域、通过膨胀扩大区域
当输入是灰度图像时,形态学处理不会改变区域的形状,改变的是像素值的大小,反应到图像上就是明暗程度。腐蚀操作将图像像素点赋值为局部邻域中的最小值,因此整体的图像灰度值变小,图像中暗区域更暗,较亮的小区域被抑制。膨胀操作是将图像像素点赋值为局部邻域中的最大值,经过膨胀处理之后,图像的整体灰度值变大,图像中的亮区域扩大,较暗的小区域消失。

4、局部自适应二值化算法
加强缺陷特征,削弱干扰物的图像特征。局部二值化分割是将图像上的像素点的灰度值根据某种或某些算法设置为0或255,也就是将整个图像呈现出明显的黑白效果。比如在裂缝检测中,将图像局部自适应二值化分割可以明显反应出裂缝的信息和背景信息。
局部二值化方法:根据某些预定的规则将凸显划分为若干个窗口,然后在每个窗口内根据不同阈值对所有像素点进行二值化处理。一般使用Niblack算法。
递归局部二值化方法:(有点像迭代阈值分割)

5、图像处理之水平投影、垂直投影
作用:二值图像或明显特征的灰度图定位或分割前景与背景,经常用到投影法。
水平方向投影,将图像数组进行列求和;
垂直方向投影,将图像数组进行行求和;
如汽车牌照的定位:先对汽车图像二值化,然后水平投影,找出牌照的上下位置和高度,再对上次定位的牌照图像竖直投影,找出牌照有数字部分的总宽度,切割出来。再进行投影,每个字符的切割的外接矩形找到了,每个字符切割出来,提取特征,比如黑像素所占份数5X5格,和每个数的模版库进行匹配。进行细化,使数据量更规范更统一了,然后牌照标准化。
水平投影的实现步骤:
1.图像二值化,物体为黑,背景为白
2.循环各行,依次判断每一列的像素值是否为黑,统计该行所有黑像素的个数。设该行共有M个黑像素,则把该行从第一列到第M列置为黑。

垂直投影的实现步骤:
1.图像二值化,物体为黑,背景为白
2.循环各列,依次判断每一行的像素值是否为黑,统计该列所有黑像素的个数。设该列共有M个黑像素,则把第一行到第行置为黑。

6、图像处理之高斯平滑处理
高斯滤波器:

7、边界提取(边缘提取算法)
8、图像规定化:
旨在将图像的像素值归一化或标准化到某个范围或目标分布。这种处理可以提升图像的质量和一致性,使得不同图像在亮度、对比度等方面更为统一,从而提高后续处理或分析的准确性。

图像处理之傅里叶变换
图像处理之小波变换
信号领域的小波变换:https://blog.csdn.net/iceberg7012/article/details/109402436

频谱图:能量在不同频率(自变量)下的分布




后面那一群频率曲线通过相加合成了最前面的波形。原理是任何一个函数都可以分解成多个正余弦函数相加,公式见下图:前面的参数a是每一个波形的振幅(纵坐标,像素的大小,颜色越亮像素值越高),cos、sin里的参数就是频率(横坐标,也就是像素变化的频率,边界)

··因此傅里叶变换的实质就是这样(我个人理解:对于周期函数的变换是傅里叶级数。非周期函数的变换是傅里叶变换)
图像上的傅里叶变换是什么样的:

图像处理之小波变换

posted @   sy-  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示