基于Canny算子和数学形态学的细胞边缘检测方法
2010-07-17陈天华王昆鹏
陈天华, 王昆鹏
(北京工商大学 计算机与信息工程学院, 北京 100048)
随着人们生活水平的提高,肉类已经成为我国城乡居民的重要食品,其中猪肉是各种肉类食品中具有代表性的一种肉类[1]. 在肉类食品检测中,细胞边缘检测有着重要的地位和作用. 由于图像边缘包含了图像丰富的内在信息,图像边缘是数字图像的重要特征属性之一,是图像识别中抽取图像特征的重要属性. 经过边缘检测的图像是图像分割、特征提取、完整细胞计数、细胞自动分类、特殊细胞的识别、纹理分析以及肉类新鲜度评价的基础[2]. 本文提出了一种基于Canny算子结合形态学方法检测猪肉细胞边缘的方法,并可用于猪肉新鲜度的快速检测中.
目前,国内外有很多关于细胞显微图像处理的研究,但针对猪肉细胞检测的研究并不多. 利用Canny 算子与数学形态学相结合分析细胞图像是一种新的细胞边缘检测方法[3]. Canny 算子是一种公认的功能较为强大的图像边缘检测算子,但对于灰度分布不均匀的切片图像,利用Canny 算子进行边缘检测在应用中存在两个不可忽视的问题。一是不能保证边缘的连续性或封闭性;二是在细节区存在碎边缘现象,局部可能较难形成边缘. 对于肉类细胞图像检测,单纯的边缘检测只能产生边缘点,而不是一个完整的图像分割过程. 因此边缘信息需要进一步处理或者与其他算法结合改善边缘检测算法,才能实现精确的边缘检测[4]. 数学形态学方法是一种新的图像分析方法,其基本理论、技术和方法在食品检测、生物工程、医学影像学等许多领域得到了广泛应用. 数学形态学原理是利用一个结构元素去探测一个图像,观察是否能够将该结构元素很好地填放在图像的内部,同时验证填放结构元素的方法是否有效[5]. 通过构造不同的结构元素,可完成不同的图像分析. 针对肉类细胞的特点,将Canny算子结合形态学的方法,选择合适的结构元素进行处理,可提取准确的细胞边缘.
1 样本制作与采集
欲对样本图像进行边缘检测,首先要采集猪肉样本切片图像. 由于样本盛放在玻璃器皿中,为避免玻璃器皿对光线的反射和折射的作用影响图像采集效果,采用底光对样品进行照明[6].
1.1 图像采集系统
图像采集系统如图1,主要由光室、光源、CCD摄像头、图像采集卡和PC机组成. 光源与光室提供检测猪肉切片图像的采集环境;摄像头摄取被检测肉片图像,采集图像的尺寸为512×512像素,并由图像采集卡数字化后送入计算机.
图1 图像采集系统Fig.1 System of image collecting
图像采集卡采用AVE1000SS1卡. 这是一款性能稳定、功能齐全的视频压缩卡,具有报警输入、输出、字符和时间叠加OSD功能,可支持多块插卡同时压缩,支持恒定位和可变位速率、压缩帧尺寸可变,位速率模式支持VBR/CBR,支持网络传输. 该卡支持MPEG-1/MJPG压缩格式,可满足高分辨率全屏预览,分辨率高达720×576,性价比非常高,既保证高压缩质量,又占用较少硬盘.
CCD摄像头采用JVCCCD摄像机,主要技术参数:480线专业级彩色摄像头,PAL制复合视频输出;DSP提供更好的画面质量和更先进的功能;内置RS232C通讯协议,1/3英寸IT Super HAD CCD;50分贝优质信噪比(S/N),可适应多种光照条件的背光补偿;无电场或磁场干扰,最低照度0.3 Lux[F1.2,50IRE];两种可选自平衡控制方法,自动追踪自平衡/手动;可采用CS及C型卡口镜头,两种自动光圈镜头.
1.2 样本图像获取
实验样品采用北京市场上经正规屠宰,经卫生检验检疫部门检验合格的未经注水和冷冻的猪肉,选取多个摊位的肉品提取脂肪组织作为样品,用酒精消毒的刀片在新屠宰的猪肉脂肪组织中提取长、宽、厚分别为2×1×0.2 cm的样品12个,并将样品放置在25 ℃恒温环境下,每隔2小时进行1次图像数据采集. 将样品从恒温环境取出在显微镜的载物台上,调整载物台到指定位置. 将显微镜放大倍数调整为100倍,每隔2小时在样品的同一位置采集一次图像.
2 形态学分析
数学形态学是建立在严密数学理论基础上的、以数学形态学理论为基础的图像分析技术,即采用具有一定形态的结构元素作为“探针”收集图像信息,度量和提取图像中的对应形状以实现对图像的分析和识别,作为探针的结构元素可以直接携带知识(形态、大小,甚至加入灰度和色度信息)来探测、研究图像的结构特点. 数学形态学方法用于图像处理具有较强的抗噪性、实时性,易于硬件实现,可保持图像的基本形态不变等优点,在图像去噪、图像分割、边缘检测、特征提取、纹理分析、图像压缩、图像恢复与重建等方面都具有广泛的应用[7]. 研究表明,Canny 边缘检测对于质量较好的图像可以得到单像素连续边缘,对质量较差的图像仍会丢失边缘,出现断裂,在处理细胞图像时尤为突出,这是由于肉类切片细胞属于透明或半透明物质,细胞边缘处灰度变化较缓慢.
数学形态学是由一组形态学的代数算子组成,其基础主要基于集合论,本质上是用结构元素映射输入图像. 膨胀、腐蚀、开、闭是数学形态学的四种基本运算. 设二值图像集合为A,结构元素集合为S,则:
1) 膨胀
A⊕S=[ACΘ(-S)]C.
其中AC表示集合A的补集. 膨胀可以看作是将图像A中每一点a扩大为S+a,它是一个扩张的过程,该变换使目标扩张,空洞收缩. 它可以把图像周围的背景点合并到物体中,对于两个相近的物体,膨胀运算可以使其连通,对图像外部有滤波的作用.
2) 腐蚀
AΘS={a:S+a⊂A}.
腐蚀可以看作是将图像A中每一与结构元素S全等的子集S+a收缩为点a,是一个收缩的过程,该过程使得目标收缩,孔洞扩张. 腐蚀可用于消除图像中的无用点或小区域的成分,将两个细小联通的物体相分离,对图像内部有滤波的作用.
3) 开运算
AΟS=(AΘS)⊕S.
开运算是对图像先腐蚀后膨胀的过程. 它可以将图像中的细小突出消除,纤细处物体分离,具有平滑图像边缘和平滑图像轮廓的作用. 一般情况下,腐蚀和膨胀都是不可恢复的运算,因此开运算并不能使目标复原. 开运算对粘连目标的分离及消除椒盐噪声方面有较好的作用.
4) 闭运算
A·B=[A⊕(-B)]Θ(-B).
闭运算是对原图像进行先膨胀后腐蚀的过程. 它可以对物体内细小的孔洞和裂缝进行填充,具有连接临近物体和平滑边缘的作用. 闭运算在去除图像砂眼噪声方面有较好的效果. 另外,数学形态学还有三种求取二值边界的方法:
外边缘提取算子:(A⊕S)-A.
内边缘提取算子:A-(AΘS).
骑跨在实际边界上的边缘提取算子:(A⊕S)-(AΘS).
3 Canny算子
对一幅细胞图像进行边缘检测,一般包括滤波、增强和检测三个步骤. Canny算子是具有较好的边缘检测特性并得到广泛应用的边缘检测算子,具有较高的信噪比和检测精度,是一种高性能的阶梯型边缘检测算子[2][8]. 其优越的检测特性表现在以下几个方面.
1) 良好的边缘检测性能. Canny算子能保证成功地检测出细胞边缘,不将非边缘点作为边缘点检测,输出的信噪比最大.
2) 边缘检测信噪比高. Canny算子不仅能成功地检测出细胞边缘,对于弱边缘信号也有较好的响应能力,算子的输出信噪比高.
3) 边缘检测时定位准确. Canny算子检测出的边缘点与实际边缘点位置准确度高.
4) 单边缘特性好[9]. Canny算子具有较好的一个边缘点只检测一次能力.
根据上述准则,Canny算子推导出应用边界点位于图像被高斯函数平滑后的梯度幅度的极大值点作为最优边缘检测算子的一个近似实现. Canny 算子边缘检测的算法步骤如下.
1) 用高斯滤波模板与原始图像进行卷积,以消除平滑图像、图像噪声. 本文采用3×3模板.
2) 利用Prewitt算子、Sobel算子等导数算子计算图像灰度沿x,y方向的导数Gx,Gy,并求出梯度的大小和的方向.
3) 遍历图像,对梯度图中的每一点,采用非极大值抑制技术,判定其是否为边缘.
4) 采用累计直方图进行双阈值计算和边缘的连接.
Canny算子边缘检测算法如图2.
图2 Canny算子细胞边缘算法图Fig.2 Algorithm of canny operator cell edge detection
4 边缘提取
4.1 切片图像预处理
样本切片图像预处理包括对切片图像由RGB格式转换为灰度图像以及进行直方图均衡化. 直方图均衡化是通过对所获取的切片图像进行以均衡为目标的变换,对图像的灰度直方图进行修正,压缩图像中像素较少的一些灰度级,拉伸像素数较多的部分的处理方法,使原图像的直方图分布更均匀,增加像素灰度值的动态范围,从而提高整个图像的对比度,使原切片图像中一些不清晰的细节在均衡化处理后会变得更清晰. 由于切片图像是RGB图像,因此,应先将RGB图像转换为灰度图像,切片图像预处理流程如图3,预处理以后的切片图像如图4.
图3 切片图像预处理算法流程Fig.3 Pre-processing algorithm of cell slice image
图4 猪肉细胞切片图像Fig.4 Cell slice image of pork
4.2 细胞边缘计算
首先,应用Canny 算子的定位精度高、检测性能好等优点,检测出细胞的边缘,提取细胞图像轮廓,对于图像灰度值不明显处,细胞边缘线可能存在断裂的情况;其次,应用数学形态学进行膨胀操作,填补细胞图像边缘的不连续处;然后,对细胞图像内部的孔隙进行填充;最后,对细胞边缘进行平滑处理,完成细胞边缘提取.
根据形态学基本理论,用适当的结构元素对图像进行膨胀运算,可使图像边缘上的灰度得到增强. 根据猪肉细胞的图像特点,采用菱形结构元素对细胞进行腐蚀运算. 菱形结构元素可得到弱连通边界,比结构元素小的细节在运算中可被去除. 切片图像的形态学处理中分别从水平方向、垂直方向,与水平面呈45°和与水平面呈135°分别定义结构元素,对图像中的像素进行膨胀运算. 其模板为:
对检测结果进行加权平均,即可完成细胞切片图像的边缘提取,边缘检测结果如图5.
图5 猪肉细胞边缘图像Fig.5 Cell edge image of pork
5 结 论
实验结果表明,Canny 算子结合数学形态学进行细胞切片图像边缘提取,即先应用Canny算子对图像进行运算,再应用数学形态学方法对不连续的断裂边缘进行修补,然后进行形态学平滑处理,即可得到高质量、高精度、连续的细胞边缘图像. 该算法充分结合了Canny算子和形态学方法的优点,可广泛应用于食品检测图像分割、特征提取、完整细胞计数、细胞自动分类及基于细胞计数的肉类新鲜度评价之中.