2.3 边缘检测
边缘检测是使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。 这些包括(1)深度上的不连续、(2)表面方向不连续、(3)物质属性变化和(4)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。
有许多用于边缘检测的方法, 他们大致可分为两类:基于搜索和基于零交叉。
1)基于搜索的边缘检测方法首先计算边缘强度, 通常用一阶导数表示, 例如梯度模,然后,用计算估计边缘的局部方向, 通常采用梯度的方向,并利用此方向找到局部梯度模的最大值。
2)基于零交叉的方法找到由图像得到的二阶导数的零交叉点来定位边缘。 通常用拉普拉斯算子或非线性微分方程的零交叉点。
滤波做为边缘检测的预处理通常是必要的,通常采用高斯滤波。已发表的边缘检测方法应用计算边界强度的度量,这与平滑滤波有本质的不同。 正如许多边缘检测方法依赖于图像梯度的计算,他们用不同种类的滤波器来估计x-方向和y-方向的梯度。
边缘检测算子:
一阶:Roberts Cross算子,Prewitt算子,Sobel算子,Canny算子, Kirsch算子,罗盘算子;
二阶: Marr-Hildreth,在梯度方向的二阶导数过零点。
Canny算子(或者这个算子的变体)是最常用的边缘检测方法。 在 Canny 创造性的工作中,他研究了设计一个用于边缘检测最优预平滑滤波器中的问题,后来他说明这个滤波器能够很好地被一阶高斯导数核优化。另外 Canny 引入了非最大抑制概念,它是说边缘定义为在梯度方向具有最大梯度值的点。
在一个离散矩阵中,非最大抑制阶梯能够通过一种方法来实现,首先预测一阶导数方向、然后把它近似到45度的倍数、最后在预测的梯度方向比较梯度幅度。
一个获得亚点精度边缘的改进实现是通过检测梯度方向上二阶方向梯度的过零点来实现的:
(2.6)
其中 Lx, Ly ... Lyyy 表示从使用高斯核平滑原始图像得到的尺度空间表示 L 计算出的偏微分。
它在梯度方向的三阶方向梯度满足符号条件
(2.7)
按照这种方法,能够自动得到亚点精度的连续曲线边缘。滞后门槛也可以用在这些差分边缘片断。
2.4 数学形态学
数学形态学图像处理的基本思想是利用一个称作结构元素的“探针”收集图像的信息。当探针在图像中不断移动时,便可考察图像各个部分间的相互关系,从而了解图像各个部分的结构特征。作为探针的结构元素,可直接携带知识(形态、大小、以及灰度和色度信息)来探测所研究图像的结构特点。
先腐蚀后膨胀的过程称为开运算,虽然腐蚀处理可以将粘连的目标物进行分离,膨胀处理可以将断开的目标物进行接续,但同时都存在一个问题,就是经过腐蚀处理后,目标物的面积小于原有面积,而经过膨胀处理之后,目标物的面积大于原有面积。开、闭运算就是为了解决这个问题而被提出的,开运算通常用来消除小对象物,在纤细点处分离物体,平滑较大物体的边界的同时不明显改变其面积。
图像的腐蚀操作是删除对象边界某些像素,在操作中,输出图像中所有给定像素的状态都是通过对输入图像的相应像素及邻域使用一定的规则进行确定。在腐蚀操作中,输出像素值是输入图像相应像素邻域内所有像素的最小值。在二进制图像中,如果任何一个像素值为0,那么对应的输出像素值为0。 可以使用imerode函数进行图像腐蚀。imerode函数需要两个基本输入参数:待处理的输入图像以及结构元素对象。此外,imerode函数还可以接受3个可选参数;PADOPT(padopt) :影响输出图片的大小、PACKOPT(packopt).:说明输入图像是否为打包的二值图像(二进制图像)。M:指定原始图像的行。 Matlab车牌定位算法的设计+文献综述(8):http://www.751com.cn/yanjiu/lunwen_10150.html