基于直方图的X线医学图像增强及Matlab实现*
2014-08-08张艺雪
张艺雪
(漳州卫生职业学院信息技术部,福建漳州363000)
随着医学影像的发展,医学图像已经成为现代疾病诊断中的重要依据.作为当前医疗领域中的重要诊断手段之一,X线成像具有操作简单、图像动态范围宽的优点,在医学影像领域得到普遍的应用.由于人体复杂的组织结构、电器和光量子噪声等因素对X线成像的影响,使得X线医学图像具有细节丰富但对比度差、边缘模糊等特点,直接影响了疾病诊断中的临床诊断效果.医学图像增强的目的是改善医学图像的视觉效果,便于医生对图像进行分析判断,对病情做出准确的诊断,从而提高临床诊断效率.针对X线医学图像的特点,本文讨论了直方图均衡化图像增强方法.直方图均衡化算法是图像增强方法中最常用、最重要的算法之一,适用于整体图像对比度低的图像.实验结果证明,用直方图均衡化算法对X线医学图像进行增强,具有良好的增强效果.
1 直方图图像增强的基本理论
1.1 直方图基础
图像的直方图表示图像中每一灰度级与处于该灰度级的像素数目之间的统计关系,能描述图像的灰度范围、灰度级分布情况等概貌.[1-2]直方图图像增强即通过改造原图像的直方图,使图像的直方图达到一定要求,从而增强图像,最后采用的直方图决定该图像增强的程度.设变量r为原始图像f的灰度级,变量s为增强后图像g的灰度级,P(r)为原始图像中灰度级为r的像素出现的频数,P(s)为增强后图像中灰度级为s的像素出现的频数,则P(r)的图形即为原始图像的直方图,P(s)的图形即为增强后图像的直方图.为方便研究,对灰度级r进行归一化,即:0≤r≤1,r=0在灰度级坐标中表示黑,r=1表示白.在区间[0,1]内对图像f的灰度级r做灰度变换:
T(r)满足2个条件:
(Ⅰ)T(r)在区间0≤r≤1内单值单调增加;
(Ⅱ)当0≤r≤1时,0≤T(r)≤1;
条件(Ⅰ)保证了变换后的灰度值从黑到白排序;条件(Ⅱ)保证了变换后的灰度级在允许的范围内.
通过(1)的变换,每个原始图像的r值都产生一个对应的增强后图像的灰度级s值.
s到r的反变换函数如下:
T-1(s)也要求要满足条件(Ⅰ)和条件(Ⅱ).
灰度级r对于数字图像而言是一个随机变量,对于连续图像而言是一个连续变量;P(r)和P(s)用来表示数字图像中灰度级出现的频数,连续图像的灰度分布情况则用概率密度函数Pr(r)和Ps(s)表示.
由基本概率理论得出,当Pr(r)和T(r)已知时,若T-1(s)满足单值单调增加,则可求出增强后图像灰度的概率密度函数Ps(s):
直方图增强技术即通过变换T(r)改变图像的Ps(s),从而达到改变图像灰度分布,改善图像对比度、增强图像的目的.
1.2 直方图均衡化
直方图均衡化是图像处理领域中常见的间接对比度增强方法[3],通过对一已知概率分布的图像进行变换,重新分配图像像素值,使原始图像的灰度直方图从集中的灰度区间变换成灰度均匀分布的直方图.利用这种均衡化修正图像直方图的方法,使图像的灰度分布均匀、灰度间距增大、局部对比度增强、图像细节变清晰,但又不影响图像整体对比度.
对于连续图像,灰度变换函数为:
观察(4)式,当r从0递增到1时,该函数也从0单调递增到1,因此,此函数满足条件(Ⅰ)和(Ⅱ).函数两边对r求导得:
由此可见,按(4)式对原始图像做灰度变换,变换后的图像灰度概率密度分布均匀,也就是说,变换后是灰度级分布均匀的图像,图像灰度动态范围得到了扩展,图像对比度显著提高.
对于数字图像,还需将(4)式转换为离散的形式.用L表示数字图像中的灰度级总数,rk表示第k级灰度值,nk表示图像中具有灰度级rk的像素数目,n表示图像像素总数,图像中灰度级为rk的像素出现的频数为:
Pr(rk)即为该数字图像的直方图,对图像进行直方图均衡化,对应(4)式的离散形式为:
通过(8)式对图像做灰度变换,得到的图像即为直方图均衡化后的图像.
1.3 直方图规定化
由于直方图均衡化只能产生全局均匀化的直方图,虽然可以自动增强图像整体对比度,但不容易控制其具体的增强效果,不适用于交互作用的图像增强.在实际应用中,经常需要根据某一标准图像的直方图来修改原始图像,使原始图像的直方图达到某个特定的形状[4],从而有选择性地增强图像某个灰度值范围内的对比度,这个过程即为直方图规定化.
如临床医学中,医生很多情况下只对X线医学图像的某个局部组织细节感兴趣,利用直方图规定化即可根据实际情况选定特定的灰度值范围,对该灰度值范围的对比度进行增强,从而使该图像的直方图达到某个指定的形状.
令Pr(r)表示原始图像的灰度级概率密度函数,Pz(z)表示希望图像的灰度级概率密度函数,对它们进行均衡化,得到:
求(10)式的逆过程,得:z=G-1(v),此过程即可将一个均匀分布的直方图转换成形状为Pz(z)的直方图.由此得出,直方图规定化的算法为:
①对原始图像进行直方图均衡化,得到直方图;
②给出希望的概率密度函数Pz(z),求出变换函数G(z);
③对G(z)求逆过程,z=G-1(s);
④根据③得出的s和z的变换关系,对均衡化后的原始图像进行修改.
2 Matlab实现及结果分析
2.1 Matlab实现
Matlab是一个用于算法开发、数据分析、数据可视化等的商业数学软件[5].利用Matlab的图像处理工具箱,能简单快捷地统计数据,得到直观图示.Matlab工具箱提供的图像处理函数,均由该领域内的专家编写,包括了近期内所有的研究成果和技术方法,是一个高效易用的工具箱.
由于直方图算法运算量大、算术复杂,需要较长的运算时间,因此,可以利用Matlab环境下提供的图像处理工具箱,简单快捷地统计数据,得到所需的直观图示.
利用Matlab对直方图均衡化和直方图规定化处理的函数格式如下:
(1)y=imhist(x,n)
(2)y=histeq(x,m)
(3)[counts,b]=imhist(x,…)
(4)y=histeq(x,b,n)
说明:
对于格式(1),显示图像x的直方图,n为用于形成直方图的灰度级数目,缺省值为256;
对于格式(2),对图像x进行均衡化处理,m为灰度级数,默认值为64;
对于格式(3),返回图像x的每个灰度上的像素点数目;
对于格式(4),图像均衡化调色板b的灰度,返回有n级灰度的图像;
举例说明直方图均衡化处理:
x=imread(aaaaa.tif);%读入图像
figure,imshow(x);%显示图像
figure,imhist(x,256);%显示原始图像直方图
title(′原始图像直方图′);%直方图均衡化处理
y=histeq(x,256);%均衡化处理
figure,imshow(y);
title(′均衡化处理结果′);
figure,imhist(y);%均衡化后的直方图
举例说明直方图规定化处理:
[counts,n]=imhist(y);%获得均衡化后直方图的各像素点灰度级,以便规定化
title(′均衡化图像直方图′);%直方图规定化处理
z=imread(bbb.tif);%读入图像
figure,imshow(z);%显示图像
title(要规定化图像);
figure,imhist(z);%显示直方图
title(要规定化图像的直方图);
w=histeq(z,counts);%规定化处理
figure,imshow(w);
title(规定化后图像);
figure,imhist(w);%规定化后的直方图
title(规定化后图像直方图);
2.2 结果分析
程序实现的图如图 1 中图 x1、x2、y1、y2、z1、z2所示,图x1为原始图像,x2为原始图像直方图.观察图x1发现,图像较暗、模糊不清晰,且对比度较低,直方图表现为灰度范围较窄、动态范围小.图y1、y2为均衡化处理后的图像及图像直方图,均衡后图像对比度和动态范围明显增强,亮度值较平衡.观察规定化处理后的图像及图像直方图z1、z2发现,图像较暗区域的细节得到了增强,图像更加清晰,视觉效果更好.
图1 程序实现的图
3 结束语
针对X线医学图像的特点,本文研究的直方图均衡化和直方图规定化方法,能有效增强特定灰度值范围内的对比度,改善图像视觉效果.本文分析了这两种技术的基本理论,并利用Matlab进行实验,实验结果表明,直方图均衡化能增强图像灰度级的动态范围,直方图规定化能使X线图像细节更清晰,临床应用上能使医生更好地了解某个病灶的大小、形状及周边情况,进行正确的诊断.两种技术均增强效果较好、方法简单、易于临床上应用.
[1]刘榴娣,刘明奇,党长民.实用数字图像处理[M].北京:北京理工大学出版社,2003.
[2]李文锋.图形图像处理与应用[M].北京:中国标准出版社,2006.
[3](日)田村秀行著.计算机图像处理[M].金喜子,乔双译.北京:科学出版社,2004.
[4]Stark JA.Adaptive image contrastenhancementusing generalizations of histogramequalization[J].IEEE Trans Image Proc,2000,9(5).
[5](美)David.Rogers著.计算机图形学的算法基础[M].石教英,彭群生,等译.北京:机械工业出版社,2002.