图像处理的相关算法介绍
2024-01-29 来源:elecfans
在机器视觉这一领域诞生的初期,一种普遍的研究范式,是将图像看做二维的数字信号,然后借用数字信号处理中的方法,这就是图像处理。今天小编给大家介绍的就是图像处理的相关技术。
点运算
有一些运算只对图像的每一个像元点操作,产生一幅新图像,二值化就是一个典型的例子。在预先设定了阀值的情况下,二值化的输出仅仅取决于该点的值,因此
式中 fA 和 fB 分别为输入和输出图像。这种运算可使用查找表,LUT,在图像数据顺序通过时一次完成。各种灰度校正也是这种运算,所不同的是二值化产生了二值图像,而校正产生的仍为灰度图像。
局部运算
局部运算的输出仍为一幅图像,输出图像的每一个像元值取决于输入图像相对应的像元以及它周围的邻近像元。因此
式中的 N 代表以[i,j]为中心的局部子图像。这种运算的一个例子见下图,这种运算几乎会出现在每一个机器视觉系统中,它的输入图像可以是灰度图像,也可以是二值图像;它可以作平滑、锐化、去噪、细化、边缘检出等等运算,局部像元的取法可以有多种方法,十字形、方形、蜂窝形等等,但使用得最多的是方形,例如使用 3×3 或 5×5 或 7×7 的方形模板,模板中每一位置具有一个核系数,用此模板对每一像元及其相邻像元作卷积,是用得最多的一种运算,其它如中值滤波也是去除噪音的较好算法。
全局算法
有一些算法是基于整个输入图像而获得的,被称作全局算子
这类算法的一个例子在下图中显示。
它的输出可以是一幅图像,也可以是符号输出。直方图、富氏变换、广义 Hough 变换都是全局算法。
物体级算法
在大多数机器视觉的应用领域,都要求计算出图像中物体的特性。为了识别这些物体,大小、平均灰度、周长、重心、形状和其他一些特性都是常用到的,是直接对目标物体计算而获得的;而在缺陷检测中,也是通过对目标物体所作的检测而获得的。这就引出一个非常困难,而在机器视觉系统中又至关重要的问题:目标物体是什么?在哪里?
在机器视觉中的很多算法都是围绕图像中的物体在哪里这一目的而展开的。而图像中的物体还会带来令人左右为难的决策。
例如,我们必须使用属于目标物体的所有点来计算该物体的特性;但我们又必须使用这些特性来区别这些点是否属于该物体。
所以从背景像元成功分割出前景物体是视觉系统工作成败的关键。为了彻底理解图像的内容,机器视觉必须对目标物体作多种运算操作,以便做出正确的分割。
下图演示了对一个物体的边缘进行跟踪以后获取的链码,通过对链码可以直接做形状分类;还可以通过链码做富氏算子变换,从而突出反映形状的分量。从这个例子可以看出物体级算法不象前面所述的三种类型的算法那么有规律,可以按照像元扫描的顺序来进行,便于使用专门芯片来实时完成。物体目标级算法往往是较复杂的,只适用于处理器来执行,例如 PC 机的 CPU,专用信号处理器 DSP 等;同时这些算法的运算时间不是往往固定的,而是随着图像内容的复杂程度而变化的。
下一篇:你能分得清启动电容和运行电容?