其中,Zxy是信号点(x,y)灰度值,Sxy是当前模版窗口,Smax是模版窗口最大值,Zmin、Zmax和Zmed分别为模版窗口中灰度的最大值、最小值和中值。 2.2 Sobel算子梯度计算本文利用Sobel算子的一阶梯度模板求图像梯度幅值,其水平与竖直方向模版如图2所示。
利用模版对滤波后的图像进行处理,得出在水平方向与竖直方向上的梯度Gradx、Grady,从而得出图像基于Sobel算子的梯度Grad。其计算方法如式(1)-(3)所示。 其中,Dx、Dy分别为x、y方向上的模版,I为滤波后图像。 2.3 Otsu求取高低阈值
Otsu算法又称为最大类间方差法,其主要分割方法是利用图像灰度信息将图像分为目标与背景,并计算其方差[20-21]。以设定阈值t将一幅图像分割为目标与背景,目标点所占比例及均值、背景点所占比例及均值分别为w0、u0、w1、u1,则整幅图像均值u=w0*u0+w1*u1,其方差可由式(4)表示。
其中[σ(t)2]为目标与背景间方差,目标与背景提取越准确,方差越大。因此,若图像中出现一定程度的错误分割,则会导致相应的类间方差减小。当t取一定值时得到最大的[σ(t)2]值,则t为该图像最佳阈值,当t取值不唯一时,则取平均值为最佳阈值。Otsu获得的最佳阈值为高阈值[Th],并设置低阈值为[Th2]。 3 实验过程及结果分析
龙源期刊网 http://www.qikan.com.cn
在Matlab平台上分别对不同类型医学图像进行检测,并与Matlab系统自带的Canny算子及传统Canny算法处理后结果进行比较。 3.1 实验具体实施过程
以脊椎医学图像为例,利用高斯滤波、常规中值滤波及自适应中值滤波对添加椒盐噪声的图像进行处理,处理结果如图3所示。
对高斯滤波及中值滤波窗口进行人为设定,从结果可以看出,自适应中值滤波相较于高斯滤波虽然滤波效果相差不大,但不需要人为设置[σ],从而使去噪更具适应性。经过常规中值滤波后的图像,一些边缘细节被模糊,使边缘信号发生了较大变化。综上所述,本文提出的利用自适应中值滤波进行平滑图像处理效果最佳。
对滤波后的图像进行基于Sobel算子的梯度计算,结果如图4所示。 从实验中可以看出,梯度图像在经非极大值抑制处理后,其边缘得到细化。
对经非极大值抑制处理后的图像利用Otsu算法自适应地计算高、低阈值,并连接边缘,得到的边缘检测结果如图6所示。
3.2 本文算法与传统算法在不同医学图像中处理结果对比
本文分别通过直接调用Matlab中的Canny边缘检测算子、传统Canny算子与改进Canny算子对脊椎、脑部、肺部、手部等医学图像进行检测,并分析实验结果。实验结果如图7所示。
实验结果表明,虽然通过Matlab系统自带的Canny算子能够检测出大体轮廓,但图像中存在很多虚假边缘,细节处的轮廓由于被虚假边缘掩盖而无法识别。图7(a)脊椎图像中相对灰度较大的圆形区域已被虚假信息覆盖,无法观测其边缘信息;图7(d)中手部图像只能看出手掌轮廓,而未检测出其手指关节处细节。
传统Canny算子相比于Matlab自带的Canny算子,检测结果有了很大提高,但边缘清晰度仍不够高。从实验结果可以看出,图像中的一些细节边缘未能检测出来。图7(b)内部存在一个灰度较小,类似气泡的区域,改进Canny算子能成功检测出该区域,而传统Canny算子无法检测出该边缘信息;图7(c)中改进Canny算子检测出的边缘在连续性上优于传统Canny算子,传统Canny算子中有许多边缘不连续;图7(d)中能明显观察到改进Canny算子检测出的手指内部关节处信息更加清晰。
综上所述,本文提出的改进Canny边缘检测算子相比于Matlab自带算子能滤除更多虚假边缘,使边缘细节更加明显,相比于传统Canny算子能检测出更清晰的边缘以及更多边缘细
龙源期刊网 http://www.qikan.com.cn
节,并且实现了滤波及高低阈值设置的自适应性,因此在边缘检测中的适用范围更广,不需要因图像改变而重新设置参数,即能达到理想检测效果。 4 结语
本文对传统Canny边缘检测算子进行改进并应用于医学图像分割,提出通过自适应中值滤波代替高斯滤波,利用Sobel算法进行梯度计算,并进行非极大值抑制处理,最后通过Otsu计算高低阈值进行最终的边缘检测。在不同类型医学图像上对该改进算法进行实验,结果表明,改进的Canny边缘检测算子能够自适应地进行去噪与高低阈值计算,并能够消除许多虚假边缘,保留真实边缘信息,从而能较好地识别图像边缘。由于改进算法的计算复杂程度增加,因此运行过程中需要花费更多计算时间。为了减少运行时间,未来将对程序作进一步优化。 参考文献:
[1] SETIAWAN B D, RUSYDI A N, PRADITYO K. Lake edge detection using canny algorithm and Otsu thresholding[J]. 2017 International Symposium on Geoinformatics (ISyG), 2017:72-76.
[2] 段军,张博. 改进的Canny算子边缘检测算法研究[J]. 软件导刊,2018,17(10): 68-71.
[3] 徐亮,魏锐. 基于Canny算子的图像边缘检测优化算法[J]. 科技通报,2013(7):127-131.
[4] 宋召青,郑苏,李志成. 基于边缘检测与最小二乘支持向量机的人脸图像识别[J]. 海军航空工程学院学报,2010,25(5):518-522.
[5] 龙顺宇,朱星. 基于ARM构建Sobel边缘检测算子的指纹识别系统实现[J]. 物联网技术,2013(12):25-27.
[6] 贺超宇,郑紫微. 基于改进的Vibe和Canny边缘检测算法的运动目标检测[J]. 数据通信,2018(2):32-36.
[7] NIKOLIC M,TUBA E,TUBA M. Edge detection in medical ultrasound images using adjusted Canny edge detection algorithm[C]. Telecommunications Forum. IEEE, 2017:1-4. [8] 常娜. 圖像处理中的边缘检测算法研究综述[J]. 中国科技信息,2011(4):130-131. [9] 陈一虎. 图像边缘检测方法综述[J]. 宝鸡文理学院学报:自科版,2013,33(1):16-21.
龙源期刊网 http://www.qikan.com.cn
[10] 李俊山,马颖,赵方舟,等. 改进的Canny图像边缘检测算法[J]. 光子学报,2011, 40(s1):50-54.
[11] NES P G,BERG. Fast multi-scale edge-detection in medical ultrasound signals[M]. Elsevier North-Holland, Inc,2012.
[12] HIREMATH P S,TEGNOOR J R. Automatic detection of follicles in ultrasound images of ovaries using edge based method[J]. International Journal of Computer Applications Special Issue on Recent Trends in Image Processing & Pattern Recognition,2011(3):120-125.
[13] 贺萌, 易秀英, 汤林,等. 基于自适应形态学的医学图像边缘检测[J]. 计算机应用与软件, 2014(5):184-187.
[14] 张素文,陈志星,苏义鑫. Canny边缘检测算法的改进及FPGA实现[J]. 红外技术,2010, 32(2):93-96.
[15] 雒涛,郑喜凤,丁铁夫. 改进的自适应阈值Canny边缘检测[J]. 光电工程,2009,36(11):106-111.
[16] 王文娟,韩峰,崔桐. 一种基于模糊增强的Canny边缘检测方法[J]. 内蒙古工业大学学报,2008,27(1):65-69.
[17] BAO P,ZHANG L,WU X. Canny edge detection enhancement by scale multiplication[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2005, 27(9):1485-1490. [18] 何文浩,原魁,邹伟. 自适应阈值的边缘检测算法及其硬件实现[J]. 系统工程与电子技术,2009,31(1):233-237.
[19] 王晓凯,李锋. 改进的自适应中值滤波[J]. 计算机工程与应用, 2010,46(3):175-176.
[20] OHTSU N. A threshold selection method from gray-level histograms[J]. IEEE Transactions on Systems Man & Cybernetics,1979, 9(1):62-66.
[21] 吴一全,潘喆. 2维最大类间平均离差阈值选取快速递推算法[J]. 中国图象图形学报,2009, 14(3):471-476. (责任编辑:黄 健)