X射线机影像成像系统的图像降噪研究
2018-10-19河南省计量科学研究院郑开放刘宾武
河南省计量科学研究院 郑开放 张 燕 刘宾武
0 引言
X射线成像技术在医疗、安检、工业探伤、无损检测等领域中具有举足轻重的地位。在医疗方面,X射线影像的清晰程度与很多影响量有关,如设备中X射线光源,同步辐射光源被称为最佳光源,还有影像形成的方法,患者是否配合,仪器参数设置是否合理。都会对最终的图片产生噪声、模糊度等影响,更差的直接导致畸变。
对图像进行预处理,抑制噪声,同时不改变图像细节,这就是我们要做的图像滤波,图像的有效性跟图像处理效果好坏有关。含噪声图片有自己的特点,频谱分布统计特性及规律。去噪声的方法有很多。采用邻域平均法做成均值滤波器,采用中值滤波法做成中值滤波器,采用维纳滤波法做成维纳滤波器等等。这次主要针对这三种方法研究分析。
1 噪声简介
1.1 图像噪声定义
广义的噪声是对影响人体感觉器官判断信息的因素的总称。顾名思义,图像噪声就是图像中影响接收内容信息的因素。
1.2 几种噪声
①高斯噪声:在图片上看上去就是很多孤立像素点,或者像素块。概率密度函数服从正太分布。
②散粒噪声:光是由离散光子构成,这是形成散粒噪声的根本原因,散粒噪声因为服从泊松分布,所以平时也被称为泊松噪声。
③椒盐噪声: 一般在传输中受到强烈干扰、解码处理过程中产生,随机性的出现黑点或者白点。
2 图像降噪滤波算法
2.1 均值滤波
均值滤波的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。邻域平均法原理就是调节当前点的灰度值为周围灰度值的平均值,比如 f (i, j )为得到的有噪声图片,经过后的实验图片为g (x, y ),用公式表达就是:
公式里S是邻域集合,以 (x, y )中心,M为S里面点数[1]。
邻域平均法原理就是模板计算,对所有像素点都一样,都进行平均处理,选择模板越大,就越能减少噪声,越能去除图像中产生的突变像素点。这种方法是最常用来进行均值滤波的方法,得出图片给人的感觉就是做了平滑处理。
2.2 中值滤波法
这种方法是低通滤波器中的一种典型,技术是非线性滤波。它在一个以某点为中心的模板内,按从大到小把所有像素灰度排列起来,找出这些像素平均值(偶数个)或者中间值(奇数个),将这个值当成这个点的像素灰度值。这种方法其实是跟均值滤波法有点类似的,一个是平均值,一个是中值,中值滤波的好处就是运算中不需要图像统计特性。最开始是用在一维信号处理中,但是医学图像都是二维图像,当然原理是一样的,本次试验也是采用二维图像,这种方法能保留图片中一些突变的细节,这是与均值滤波不同的地方。
2.3 维纳滤波法
我们以前接触的滤波器,比如低通,高通,带通以及匹配滤波器,他们的应用场合是要具备不随时间变化的“最佳”系数。但是,现在是在X射线医学领域,噪声产生的原因有很多,这就需要我们采用滤除噪声的方法能随输入信号的变化而有所调整,与之相适应。 维纳滤波的应用还是十分广泛的,可以用于噪声抑制、系统辨识、预测及反演模拟。最常用的也是这次我们运用的,就是从噪声中提取有用信号。维纳滤波跟均值滤波及中值滤波刚好相反,前者是找有用信号,后两者是想法找到噪声信号,并修改灰度值。
3 MATLAB软件运用
3.1 软件简介
MATLAB可以实现编程、计算结论可视化,拥有完整图像处理功能,包含了大量算法,甚至可以用于工程绘图和科学计算,功能十分强大。当然我们用到的是数字图像处理技术。
3.2 此次试验用到的函数
此文采用Matlab7.0版本,以下是用到的几个函数[3]:①读入图像与显示图像
读入图像函数为imread,运用格式如下:
[Y,map]=imread(filename,fmt),图像文件名为filename。图像格式为fmt。
读入图像函数为imread,运用格式如下:
imshow(BW) imshow(Y,map)
②二维卷积的计算
函数为conv2,运用格式如下:C=conv2(A,B),计算矩阵AB的卷积。
③ Matlab实现噪声
函数为imnoise,运用格式如下: J=imnoise(D,type)
J=imnoise(D,type,parameter),J是返回的有噪声的图像,其中添加了典型噪声,type是指噪声类型和parameter是指相应参数。
④中值滤波函数
H=med fi lt2(J),表示对加了噪声的J有噪图像进行中值滤波
⑤维纳滤波函数
H=wiener2(J,[m n]);其中J表示待滤波图像矩阵,[m n]表示滤波器窗口大小。
4 实验结果与分析
4.1 实验设定
本文的实验分为三个,实验一是对用X射线在胃肠床上拍摄的小铁棒图片添加高斯噪声,其中期望值是0,方差是0.01。均值滤波模板选用3*3,中值滤波也是3*3,维纳滤波因为需要算方差的缘故,所以模板选大一点,选用5*5的。实验二是对小铁棒图像加散粒噪声,然后进行滤波。实验三是对小铁棒图像加的椒盐噪声,噪声强度为0.02,然后进行滤波。
4.2 几种滤波方法产生的结果
4.2.1 试验结果
如图4.1仿真图对应实验一,如图4.2仿真图对应实验二,如图4.3仿真图对应实验三。
图4.1 添加高斯噪声的实验结果
图4.2 添加泊松噪声的实验结果
4.2.2 针对试验结果的分析
从试验结果输出图片中,结合滤波的原理从而得出一些结论,这三种滤波方式都有平滑图像的作用,都能够滤除噪声,但是针对不同噪声的滤除效果却又不相同。比如在图4.1中,可以看出来,均值滤波有其自身固有的弊端,就是会很容易漏掉图像的细节,很不利于医生对图片的诊断,它使图片变得模糊,可是究其原理,其对高斯噪声还是有很好的滤波表现,当然我们也可以对边界不进行处理,这也是一种解决办法。可是相反,中值滤波就不一样,它就刚好能保留图像尖锐边缘,等于是保留了细节部分,在中间区域选择合适的点来替代突变值,针对椒盐噪声特别有效,在图4.3中体现的非常明显。其实维纳滤波也是有同均值滤波一样的缺点,那就是丢失图像边缘细节,我们在处理中也可以考虑不处理边界的方法,刨去这点,观察三张输出影像,图片中的高斯噪声和散粒噪声被去除的效果很明显。
图4.3 添加椒盐噪声的实验结果
5 结束语
此此研究基于Matlab软件,对一张在胃肠床上用X摄像拍摄的小铁棒做去噪处理。其实在实际使用中,X射线机得出的影像中肯定不止一种噪声,这个时候我们就可以根据不同噪声进行不同的去噪处理,可是要考虑到去噪声的同时已经将原始图像模糊化,所以要想办法兼顾一下,使得在去除多种噪声的同时,保留医生用来诊断病因的细节,这才是此次研究的意义。