文档介绍:1 机器视觉中常用图像处理算法机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置,分 CMOS D 两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。机器视觉是使用计算机(也许是可移动式的)来模拟人的视觉,因此模拟才是计算机视觉领域的最终目标,而真正意义上的图像处理侧重在“处理”图像:如增强,还原,去噪, 分割,等等,如常见的 Photoshop 就是功能强大的图像处理软件。大部分的机器视觉,都包含了图像处理的过程,只有图像处理过后,才能找到图像中需要的特征,从而更进一步的执行其它的指令动作。在我们实际工程应用中研究的一些图像算法,实际上是属于机器视觉,而不是纯粹的图像处理。总的来说,图像处理技术包括图像压缩,增强和复原,匹配、描述和识别 3个部分,在实际工程中, 这几块不是独立的,往往是环环相扣、相互辅助来达到实际效果。接下来简单介绍一下机器视觉中常用的图像处理算法。一、滤波滤波一般在图像预处理阶段中使用,改善图像信息,便于后续处理,当然, 这不是绝对的,在图像算法过程中如果有需要,随时可以进行滤波操作。比较常用的滤波方法有以下三种: 1、均值滤波均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点( , ) x y , 选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点( , ) x y ,作为处理后图像在该点上的灰度值( , ) g x y ,即 1 ( , ) ( , ) g x y f x y m ??,m 为该模板中包含当前像素在内的像素总个数。这种滤波方法可以平滑图像,速度快,算法简单。但是无法去掉噪声, 只能减弱噪声。 2、中值滤波 2 中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。其实现过程为: 1)从图像中的某个采样窗口取出奇数个数据进行排序 2)用排序后的中值作为当前像素点的灰度值在图像处理中,中值滤波常用来保护边缘信息,是经典的平滑噪声的方法, 该方法对消除椒盐噪声非常有效,在光学测量条纹图像的相位分析处理方法中有特殊作用。 3、高斯滤波高斯滤波是一种线性平滑滤波,适用于滤除高斯白噪声,已广泛应用于图像处理的预处理阶段。对图像进行高斯滤波就是对图像中的每个点的像素值进行计算,计算准则是,由该点本身灰度值及其邻域内的其他像素灰度值加权平均所得, 而加权平均的权系数由二维离散高斯函数采样并归一化后所得。离散的高斯卷积核H: (2k 1) (2k 1) ? ??维,其元素计算方法为: 2 2 2 ( 1) ( 1) 2,212 i k j k i j H e ???? ??????其中?为方差, k 确定核矩阵的维数。二、图像分割图像分割就是把图像分成若干个特定的、具有独特性质的区域并提取出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。图像分割后提取出的目标可以用于图像语义识别、图像搜索等领域。 1、阈值分割法最常用的阈值分割方法有最大类间方差法(OTSU) 、最小误差法、最大熵法等方法,其中, OSTU 算法应用最多。最大类间方差法 OTSU 算法又称为大津算法, 是在判决分析最小二乘法原理的基础上,推导得出的自动选取阈值的二值化方法,其基本思想是将图像直方图用某一灰度值分割成两组,当被分割成的两组方差最大时,此灰度值就作为图像二值化处理的阈值。 OSTU 阈值法有较好的鲁棒性,使用范围比较广,不论图 3 像的直方图有无明显的双峰,都能得到比较满意的分割效果。设灰度图像( , ) f x y 的灰度级为 0 :L ,灰度级 i 的像素数为 in ,则图像中总像素数为 0 Lii N n ???,灰度级 i 出现的概率为 i i p n N ?,0 ip?, 01 Liip ???,总的灰度平均值为 0 Lii ip????。设阈值 k 将灰度级分为两组 0C 、 1C ,分别代表背景和目标: 0 0: C k ?, 1 1: C k L ? ?,则有: 0C 产生的概率: 00 k i k ip ? ??? ?? 1C 产生的概率: 111 L