APP下载

改进区域生长法的肝部CT图像ROI提取

2019-01-19李仔麒马慧彬李殿奎

计算机技术与发展 2019年1期
关键词:形态学像素点复杂度

李仔麒,马慧彬,2,李殿奎,2,范 蕊

(1.佳木斯大学 信息电子技术学院,黑龙江 佳木斯 154007;2.佳木斯大学 整合医学研究院,黑龙江 佳木斯 154007)

0 引 言

肝部疾病对于人类来说是死亡率非常高的疾病[1]。据2017中国癌症最新数据报告显示,在大城市中肝癌的发病率已经升到第二位,死亡率已经达到了21.80%[2]。早期发现、早期诊断、早期治疗能够提高生存率。CT图像是肝病的主要诊断手段,利用计算机图像处理的方法进行肝部疾病辅助诊断可以大大提高诊断的正确率。CT图像的ROI(region of interest,感兴趣区域)提取是计算机辅助诊断的关键一步。

目前常用的图像分割方法有很多,包括迭代阈值分割算法、分水岭算法、基于边缘的图像分割算法等[2]。宋利伟等利用分水岭算法来实现ROI区域的分割[3-4]。该算法在一定程度上实现了对灰度差异较大的目标区域进行分割[5]。目前应用比较广泛的ROI提取算法是基于阈值的图像分割方法。迭代阈值分割方法对于灰度差异明显的图像分割效果较好,但是对于灰度差异不明显的图像分割效果大大下降。传统的区域生长法能够很好地分割出目标区域,克服了阈值分割法在灰度差异不明显时分割效果不好的缺点。但传统区域生长法会由于生长条件的不同而产生大小不等的空洞部分,极大地影响了分割效果。为了解决这一问题,提出了一种结合形态学的区域生长法来分割ROI区域,形态学处理能够很好地解决分割时出现的空洞问题,改善分割效果。另外形态学处理能够很好地保留边缘信息,为图像的进一步处理提供了有利条件[6]。

1 肝部CT图像预处理

CT图像具有高密度组织成像清晰,距离精确度高,并且对肿瘤的灵敏度要远高于X光片等优点[7]。但是在计算机图像处理中,CT图像依然具有噪声大,边缘不清晰,像素灰度值变化幅度小等缺点,不太利于分割[8]。因此,首先要对图像进行预处理,对图像进行增强和去噪,以便后续处理。具体步骤如下:

(1)用rgb2gray函数将3通道的CT图像转换成单通道的灰度图;

(2)用im2double函数将图像的灰度值归一化到[0,1]之间;

(3)运用形态学的开闭交替运算实现平滑滤波效果;

(4)用wavedec2函数和waverec2函数实现小波图像增强;

(5)将增强之后的图像与原图像进行加法运算,得出边缘增强的图像。

该实验针对一幅图像来比较处理前后的变化情况。对图像用形态学处理的方式进行去噪,然后用小波增强完成对图像的预处理。预处理后的效果如图1所示。

2 改进区域生长分割算法

区域生长法是由Levine等提出的图像分割算法[9],具有两种方式,一种是从一个种子点开始将周围符合规则的像素点添加到集合中,最后形成一整块连续的区域[10];另一种是先把图像分割成小区域,这些小区域往往是灰度值相同或者有较强一致性的像素点,再通过附加一些人为的条件,将这些小区域合并成较大的区域,从而达到分割的目的[11]。区域生长法不仅能提供很好的边缘信息和分割效果,而且算法思路简洁,生长过程可以指定[12]。但是,区域生长算法处理之后的图像边缘不平滑,且有空洞,而改进的区域生长法在原有算法的基础上使用了形态学滤波,从而达到了消除空洞、平滑边缘的效果。

图1 图像预处理

改进区域生长法的基本思想是将整幅图像区域看成一个集合,并初始化相应数据。定义一个用zero初始化的二维矩阵J来记录区域生长所得到的区域。定义分割好的区域内平均值,并初始化为种子点的灰度值和生长条件值reg_dis,定义邻域列表neg_list来存储待分析像素点的坐标值I(x,y)和m0(x,y)。初始化dis来记录每个邻域像素点与当前种子点的距离,并用reg_dis来记录dis中的最小值。先从种子点开始,让种子点进入集合,在其邻域内搜索具有相似或相同特征性质的像素点,并且这些像素点要满足生长条件:

|m(x,y)-m0(x,y)|

(1)

使得下列式子成立:

∪(Ri)=R

(2)

Ri∩Rj=∅,i≠j

(3)

其中,m(x,y)表示已经分割好的像素点的灰度值;m0(x,y)表示待分析的邻域像素点的灰度值;R表示整幅图像的集合;R1,R2,…,Rn表示将R分割之后的子区域。

将符合条件的像素点放到和种子点相同的集合中,将这些新的像素点作为新的种子点继续进行上述过程,直到没有满足生长条件的像素点被包含到集合中,则生长结束。再利用形态学进行平滑滤波处理,得到CT图像ROI区域。改进区域生长法实现的流程如图2所示。

图2 算法流程

区域生长结果如图3所示。

图3 区域生长法结果

由于区域生长算法处理之后的图像会出现一些空洞,还需要利用形态学处理来填充空洞。用形态学中的膨胀运算,能很好地补充图像的空洞部分,并将肝部完整地显示出来。再将处理后的肝部图像和原图像的每个像素进行对比,如果处理后的图像中像素值是白色的,将原图像对应的像素值不变,否则原图像的像素值变为黑色。实验结果如图4所示。

图4 形态学处理和灰度还原前后对比

3 仿真实验与结果分析

仿真实验是在Windows 10环境下进行的,CPU采用Intel Core i5处理器,内存为8 GB,显卡采用GEFORCE GTX 1050Ti,编程语言采用Matlab。

实验图像是由CANCER IMAGEING网站提供的。CANCER IMAGEING图像库包含了腹部、脑部等CT、核磁共振图像,图像种类较全。该图像库的肝部CT图像包括了肝癌的各种图像数据。图像为DICOM格式,CT扫描层数最少是106层,最多是486层。

为了证明算法的有效性,需要进行多次实验来证明其时间复杂度。在Matlab R2016b环境下分别用迭代阈值分割法和区域生长法对肝部CT图像进行分割,并比较区域生长算法的分割效果和算法复杂度。

阈值分割法是一种常用的图像分割方法,它是利用图像中的某一像素值为基准,分成两个部分,一部分为前景,另一部分为背景,从而实现图像的分割。迭代阈值分割法主要是通过不断迭代来寻找合适的阈值,使得找到的阈值更加精确,以实现图像的分割。迭代阈值分割法的分割思想是利用逼近最终合适阈值的思想来实现的。具体步骤如下:

(1)求出图像的最大灰度值和最小灰度值,分别记为Zmax和Zmin,令初始阈值T0=(Zmax+Zmin)/2;

(2)根据阈值Tk将图像分割为前景和背景,分别求出两者的平均灰度值Z0和Zb;

(3)求出新阈值:Tk+1=(Z0+Zb)/2;

(4)若Tk=Tk+1,则所得即为阈值;否则转到第二步,迭代计算。

肝部CT图像分割效果的评价可以从主观评价和客观评价两个方面来进行。主观评价可以通过专业人员直接对两种算法的实验结果进行评判,客观评价的标准是在时间复杂度上进行评价。改进区域生长法相对于迭代阈值分割算法效果较好,是因为前者的生长过程可以指定,并且种子点也是可以指定的,通过区域生长之后能够完整地将肝部图像分割出来,而迭代阈值分割法是利用循环迭代来确定阈值,不能很好地提取肝部图像。

时间复杂度是验证算法效率的重要标准,时间复杂度高会严重影响算法的运行效率。在分割肝部CT图像过程中,通过toc函数得到算法的运行时间。具体时间如表1所示。

表1 时间复杂度对比 s

通过表1的对比能够看出,迭代阈值分割法的时间复杂度远高于改进区域生长法的时间复杂度。这是因为迭代阈值分割法是循环寻找分割的阈值,要遍历整个图像的像素值。而改进区域生长法是先选定种子点,按照种子点为中心,看其邻域内的点是否满足生长条件,不需要遍历整个图像的像素值,从而降低了时间复杂度。

图5显示了肝部CT图像ROI提取的效果。

图5 三种不同算法的效果对比

通过对比三组图像能够看到,改进区域生长法比迭代阈值分割法的分割效果要好很多,从每组的图(b)中能够看出迭代阈值生长法出现了分割不精准的问题,而改进区域生长法很好地解决了这一问题。

4 结束语

为了能够精确、完整地分割出CT肝部图像,提出了一种改进的区域生长法。首先进行图像的预处理,对图像进行去噪增强;然后用区域生长法结合形态学的方法来进行肝部CT的ROI提取。虽然区域生长法的种子点选择依然要靠人工进行选取,但是结合形态学处理的区域生长法可以克服传统阈值分割算法分割不完整、算法时间复杂度高以及边缘不平滑等缺点。仿真实验表明,结合了形态学的区域生长法适用于肝部CT图像的ROI提取,在算法时间复杂度与ROI区域提取效果方面均优于其他常见算法。

猜你喜欢

形态学像素点复杂度
临床检验中血细胞形态学观察与分析
音乐科学研究中的思想实验——以音乐形态学研究中的四个重大发现为例
数字经济对中国出口技术复杂度的影响研究
颅内后交通动脉瘤破裂出血的临床特征和形态学的危险因素
毫米波MIMO系统中一种低复杂度的混合波束成形算法
基于局部相似性的特征匹配筛选算法
Kerr-AdS黑洞的复杂度
非线性电动力学黑洞的复杂度
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密