医学图像的运算.ppt
医学图像运算是最基本的医学图像处理技术,主要包括点运算、几何运算(空间变换)和代数运算。,点运算是指对图像像素点的像素值进行运算。由于临床所接触到的医学图像绝大多数都是灰度图像,所以本章所讲的点运算主要是指灰度变换。几何运算是对图像的空间几何位置和尺寸进行变换,图像的缩放旋转等,也称空间变换.,3.1 医学图像运算概述,代数运算是指医学图像之间的加减乘除等运算.,3.2 医学图像的灰度变换,医学图像的灰度变换就是将图像的灰度值按照某种映射关系映射为不同的灰度值从而改变相邻像素点之间的灰度差,达到将图像对比度增强或减弱的目的。或者是将图像的灰度范围按照某种映射关系进行变换,从而改变图像的灰度范围,达到将图像灰度范围拉伸或压缩的目的。,按照映射关系的不同,可以将灰度变换分为线性灰度变换和非线性灰度变换。,当图像成像时曝光不足或过度,或由于成像设备的非线性和图像记录设备动态范围太窄等因素。都会产生对比度不足的弊病,使图像中的细节分辨不清。这时可将灰度范围线性扩展。设原始图像f(x,y)灰度范围为a,b,变换后图像g(x,y)灰度范围为c,d,(一)线性灰度变换,线性灰度变换Linear Gray-scale transformation,0,I0,It,G01,G02,Gt1,Gt2,线性灰度变换,c1时,对比度增大,相邻组织的对比更加明显,图像清晰.c1时,对比度减小.图像变暗.c=1,对比度不变.a是亮度调节系数。,已知原始医学图像,写出线性变换的公式和线性灰度变换后的图像t,其中灰度变换系数为2.0,亮度系数为30。要求灰度变换后的图像最大灰度值不超过255。,例,图像线性灰度变换的公式为:,线性灰度变换后的图像为:,解:,(a)(b)(c),(a)是原始的灰度医学图像,(b)是对(a)灰度变换的结果,变换系数为2.42,亮度调节系数为0,可以看出图像对比度得到增强,图像更加清晰。(c)也是对(a)灰度变换的结果,变换系数为1,亮度调节系数为140,可以看出图像变得更亮,但对比度并没有改变。,线性灰度变换,(d)(e)(f),(d)是原始的灰度医学图像,(e)是对(d)灰度变换的结果,变换系数为0.54,亮度调节系数为0,可以看出图像变得暗淡,对比度减弱。(f)是对(d)灰度变换的结果,变换系数为1,亮度调节系数为-99,可以看出图像变得较暗,但对比度并没有改变。,线性灰度变换,lenna.bmp,(二)非线性灰度变换,(1)对数变换(2)指数变换,非线性灰度变换就是按照非线性映射关系对医学图像的灰度进行变换。,对数变换Logarithm transformation,a,b,c是按需要可以调整的参数。,对数变换,对数变换,低灰度区扩展高灰度区压缩,指数变换Exponential transformation,a,b,c是按需要可以调整的参数。,指数变换,高灰度区扩展低灰度区压缩,动态范围拉伸,图像分辨率提高,经直方图拉伸后的乳腺X线照片:,原始图像,直方图拉伸后图像,部分线性灰度变换,部分线性灰度变换是针对图像的某一感兴趣区域灰度进行灰度扩展,其余部分进行灰度压缩。它对感兴趣的灰度范围内的灰度变换是线性变换,其余部分是非线性灰度变换,在医学图像处理中,最常见的部分线性灰度变换就是高精度医学图像的开窗显示,也称窗口技术。,加州大学洛杉矶分校医学院放射科通过实验指出观察气胸和肺间质或骨骼的细微裂纹,需要分辨率为4096X4096个像素点,而最大灰度值为12bit的医学图像;要在乳腺图像上发现微钙化点簇或对比度低的乳腺肿瘤则要求高达6144x6144个像素点的分辨率和12bit的灰度值。这种空间分辨率较高并且像素最高灰度值超过8bit的医学图像称为高精度医学图像。,高精度医学图像,部分线性灰度变换,由于临床诊断的需要,高精度医学图像具有较大空间分辨率并且像素最高灰度值超过8bit。目前国内医院中所用的普通电脑显示器不能直接显示这种高精度医学图像,国外采用专门用于医学图像的高分辨率数字显示器来解决高精度医学图像的显示问题。价格昂贵,不适合我国国情。,部分线性灰度变换,由于临床诊断的需要,高精度医学图像具有较大空间分辨率并且像素最高灰度值超过8bit。目前国内医院中所用的普通电脑显示器不能直接显示这种高精度医学图像,国外采用专门用于医学图像的高分辨率数字显示器来解决高精度医学图像的显示问题。价格昂贵,不适合我国国情。,通常使用的电脑显示器由于动态范围有限,并受到操作系统的限制,对于灰度图像所能显示的最大灰度值是8bit。而数字化的高精度医学图像的最大灰度值通常不低于12bit,利用普通的电脑显示器难以直接显示全部灰度信息。通过开窗显示技术,在不影响视觉效果的前提下将高精度医学图像的较大范围内的灰度值逐段映射为0255灰度范围来显示。并通过不断地调节窗宽和窗位将所有的高精度医学图像信息逐段显示出来。,高精度医学图像的开窗显示,横坐标,表示原始高精度医学图像I0中像素点处的灰度值,纵坐标,表示开窗变换后图像IW中像素点处的灰度值,表示原始高精度医学图像中像素点(n,k)处的最大灰度值,表示窗位,表示窗宽,开窗变换,窗口的下限值,窗口的上限值,开窗变换,已知高精度医学图像I0,写出开窗变换的公式和开窗变换后的图像Iw,其中开窗变换的窗位为1078,窗宽为255。,例3-2,将窗位和窗宽的已知数值代入,得高精度医学图像开窗变换的公式为:,开窗变换后的图像Iw为:,例3-2,(a)(b)(c)(d),图像(a)的窗位是600,窗宽是255,图像(b)的窗位是1014,窗宽是255,图像(c)的窗位是1178,窗宽是255,图像(d)的窗位是1433,窗宽是255。,可以看出,在窗宽一定的情况下,通过改变窗位能够将高精度医学图像的信息按一定的灰度范围逐段显示出来。,(e)(f)(g)(h),图像(e)的窗位是1014,窗宽是135,图像(f)的窗位是1014,窗宽是350,图像(g)的窗位是1014,窗宽是750,图像(h)的窗位是1014,窗宽是2430。,可以看出,在窗位一定的情况下,通过改变窗宽能够将高精度医学图像的信息在某个信息点进行压缩和展开。,3.3 医学图像的空间变换,医学图像的空间变换就是把图像像素点的空间位置或图像的空间尺寸按照某种映射关系映射为不同的空间位置或不同的空间尺寸。,空间变换主要包括平移(translation)、旋转(rotation)缩放(zoom)和镜像(mirror)。,原图像,尺度变换,伸缩变换,扭曲变换,旋转变换,医学图像的空间变换,图像的平移,图像的平移非常简单,所用到的是中学学过的直角坐标系的平移变换公式:,注意:x方向与y方向是矩阵的行列方向,图像的平移,图像的平移,当对图像做平移运算时,一定要根据平移距离估算图像平移后所需画布的大小(图像旋转和图像缩放都存在这一问题),以免平移后信息的丢失.另外,除了图像缩小运算外,对图像做其他几何运算有可能出现坐标为小数的情况,因此,为尽可能保持几何运算后图像的质量,还要考虑图像的插值问题.,注意:平移后的景物与原图像相同,但“画布”一定是扩大了。否则就会丢失信息。,x=1,2,3;y=1,2,3x=2,3,4;y=3,4,5,图像的平移,医学图像的旋转,医学图像的旋转是以图像的中心点为坐标原点按逆时针或顺时针方向转一定的角度。(通常图像的旋转都按逆时针方向),I0表示原始医学图像,用实线矩形框表示,Ir表示旋转后的医学图像,用虚线矩形框表示。,(n0,k0)表示图像中的像素点坐标,(nr,kr)表示图像中的像素点坐标,医学图像的旋转,当图像旋转任意角度时,计算出的像素点坐标可能会出现小数,甚至在旋转后的图像中有些像素点在原图像中无对应点。而实际情况要求,图像的坐标必须是整数,旋转后的图像中每个像素点都必须有值。对于那些在原图像中无对应点的像素点可采用局部均值插值法或双线性插值法得到该像素点的像素值。,医学图像的旋转,在医学图像处理中,通常不允许图像信息的损失。在实际的应用中最常用的是对医学图像旋转900、1800和2700。其中最基本和最常用的是旋转900。,例3.3,已知原始医学图像,写出图像逆时针旋转900的旋转公式和旋转后的图像。,由于用矩阵表示图像时,纵坐标方向通常朝下,当图像逆时针旋转时的角度应为负数,则得,医学图像的旋转,首先得到图像I0中各像素点对应的坐标:,医学图像的旋转,由于图像旋转是以图像中心为坐标原点,因此必须将坐标原点移至图像中心,当图像的行数(高度)或列数(宽度)为偶数时,图像中心不能确定,必须在行或列的末端补充一行或一列,使行数和列数都为奇数,图像中的行数为偶数,补充一行并平移后的图像中各像素点对应的坐标如下:,医学图像的旋转,补充一行前,补充一行后,医学图像的旋转,根据像素点的对应关系可得旋转后的图像各像素点对应的像素值为:,医学图像的旋转,补充的行旋转后变为列,将该列去掉得旋转后的图像为:,医学图像的旋转,(a)(b)(c)(d),(a)是原始医学图像,(b)是逆时针旋转900后的图像,(c)是逆时针旋转1800后的图像,(d)是逆时针旋转2700后的图像,医学图像旋转结果,医学图像的缩放,医学图像的缩放就是根据一定的缩放系数对图像的宽度和高度进行缩小和放大。,在临床上,通过缩放,医生可以对医学图像的概貌和病变细节进行浏览和观察,便于医生及时准确地做出诊断。,医学图像缩放分为按比例缩小和不按比例缩小两种.按比例缩小就是图像的高和宽都按照同样的比例缩小.通常都是按比例缩小.常用的方法有直接缩小法和局部均值法.,cn和ck分别是图像高度和宽度方向的缩放系数,直接缩小法,直接缩小法就是根据缩放系数对原图像采样得到缩小图像,n0是原始图像中像素点(n0,k0)的纵坐标,即图像高度方向的量,k0是原始图像中像素点(n0,k0)的横坐标,即图像宽度方向的量。,nz0是缩小后的图像中像素点(nz0,kz0)的纵坐标,即图像高度方向的量,kz0是缩小后的图像中像素点(nz0,kz0)的横坐标,即图像宽度方向的量。,例3.4,已知原始医学图像,写出图像直接缩小法的公式和缩小后的图像,其中,图像高度和宽度方向的缩放系数都是0.5。,图像直接缩小法的公式为:,直接缩小法,首先得到原始图像中各像素点对应的坐标:,由分析可知,nz0的最大取值为1,kz0的最大取值为1,直接缩小法,将nz0=0,kz0=0代入上式得n0=1,k0=1。可见,缩小后的图像中的像素点(0,0)与原始图像中的像素点(1,1)对应,因此知缩小后的图像中像素点(0,0)的像素值等于321。,直接缩小法,按照这种方法,将nz0=0,kz0=1;nz0=1,kz0=0;nz0=1,kz0=1依次代入式中得n0=1,k0=3;n0=3,k0=1;n0=3,k0=3,可得缩小后的图像为:,直接缩小法,(a)(b)(c)(d),(a)是原始医学图像,(b)是缩放系数为0.8的缩小图像(c)是缩放系数为0.5的缩小图像(d)是缩放系数为0.3的缩小图像,直接缩小法,局部均值法,局部均值法就是用原始图像中某一局部区域像素点的平均像素值代替缩小后的图像中对应点的像素值。,N表示原始图像中局部区域中的像素点总数,Gz0(nz0,kz0)表示缩小后的图像中像素点(nz0,kz0)处的像素值,G0(n0,k0)表示原始图像中像素点(n0,k0)处的像素值,例3.5,已知原始医学图像,写出图像局部均值法的公式和缩小后的图像,其中,图像高度和宽度方向的缩放系数都是0.5。,图像局部均值法的公式为:,局部均值法,首先得到原始图像中各像素点对应的坐标:,局部均值法,利用局部均值法缩小后的图像为:,局部均值法,(a)(b)(c)(d),(a)是原始医学图像(b)是缩放系数为0.8的缩小图像(c)是缩放系数为0.5的缩小图像(d)是缩放系数为0.3的缩小图像,局部均值法在保存图像信息方面较直接缩小法好,但局部均值法也引起了图像信息的损失。,局部均值法,医学图像放大就是按一定的缩放系数对图像在宽度和高度方向进行拉伸。医学图像放大也分为按比例放大和不按比例放大两种。,按比例放大就是图像的高和宽都按照同样的比例放大;不按比例放大就是图像高和宽的放大比例不一样。通常,医学图像的放大是按比例放大。,常用的医学图像放大方法有直接放大法和双线性插值法。,医学图像的放大,直接放大法就是根据缩放系数对原图像直接拉伸得到放大图像,直接放大法,cn和ck分别是图像高度和宽度方向的缩放系数,n0是原始图像中像素点(n0,k0)的纵坐标,即图像高度方向的量,k0是原始图像中像素点(n0,k0)的横坐标,即图像宽度方向的量。,nzi是放大后的图像中像素点(nzi,kzi)的纵坐标,即图像高度方向的量,kzi是放大后的图像中像素点(nzi,kzi)的横坐标,即图像宽度方向的量。,图像放大是图像空间尺寸的变大,是通过某种映射关系将原始图像的坐标映射为另一坐标,并用对应的像素值给映射后的图像赋值。将图像放大为原图像的cn*ck倍,就是将原图像中的一个像素点扩展为cn*ck个像素点。,直接放大法,例3.6,已知原始医学图像,写出图像直接放大法的公式和放大后的图像,其中,图像高度和宽度方向的缩放系数都是2.0。,图像直接放大法的公式为:,首先得到原始图像中各像素点对应的坐标,直接放大法,当n0=0,k0=0时,nzi=1,kzi=1,也就是说原始图像中的像素点(0,0)对应放大后的图像中的像素点(0,0),(0,1),(1,0)和(1,1),因此根据公式知放大后的图像中像素点(0,0),(0,1),(1,0)和(1,1)的像素值都等于321。同理可得其它各像素点灰度值。,直接放大法,(a)(b)(c)(d),(a)是原始医学图像(b)是缩放系数为2的放大图像(c)是缩放系数为3的放大图像(d)是缩放系数为4的放大图像,直接放大法,直接放大法的优点是简单易实现,能够看到图像的局部细节,但是这种方法得到的放大图像中,当缩放系数较大时,会产生所谓的“马赛克”现象,即放大后图像的子块与子块之间的过渡不平缓,产生方块效应。从图(d)中也可以看到在图像的边缘处有明显的方块效应。,可以采用双线性插值法来实现图像的放大变换。,直接放大法,最近邻法(零阶插值)双线性插值(一阶插值)非线性插值,插值方法,与计算点最近的点的灰度值为该点的灰度值,优点:简单、计算快缺点:当像素间灰度值差较大时,误差较大,所求点(x,y)离点(1,0)最近,则灰度值f(x,y)=f(0,1),最近邻插值法,双线性插值法就是在单位正方形顶点的值已知的情况下,正方形内任意点的值f(x,y)可由双线性方程得到。,双线性插值(一阶插值),a,b,c和d是常数,由正方形四个顶点的值确定。,双线性插值法是根据点的四个相邻点的灰度值,分别在x和y方向上进行两次线性插值插值。如下图:,首先,在x方向上作线性插值,对上端的两个顶尖进行线性插值得:,类似的,对于底端两个顶点进行线性插值有:,y方向上作线性插值,以确定:,双线性插值(一阶插值),最后得到双线性插值公式为:,双线性插值(一阶插值),(a)(b)(c)(d),(a)是原始医学图像(b)是缩放系数为2的放大图像(c)是缩放系数为3的放大图像(d)是缩放系数为4的放大图像,双线性插值,医学图像的镜像,医学图像的镜像分水平镜像和垂直镜像两种。图像的水平镜像是以图像的垂直中轴为对称轴将图像的左右两部分对换。图像的垂直镜像是以图像的水平中轴为对称轴将图像的上下两部分对换。,水平镜像,垂直镜像,医学图像的水平镜像的公式可表示为:,G0(n0,-k0)表示原始图像中像素点(n0,-k0)的像素值,Ghm(n0,k0)表示水平镜像后的图像中像素点(n0,k0)的像素值,水平镜像,例3.8,已知原始医学图像,写出图像水平镜像的公式和水平镜像后的图像。,水平镜像的公式为:,水平镜像,首先得到原始图像中各像素点对应的坐标:,水平镜像,由于图像水平镜像是以图像的垂直中轴为对称轴将图像左右两部分对换,因此在利用水平镜像公式时,必须将纵轴移至图像的垂直中轴,当图像的列数(宽度)为偶数时,图像垂直中轴不能确定,必须在列的末端补充一列,使列数为奇数,坐标平移后的图像中各像素点对应的坐标如下,水平镜像,水平镜像,水平镜像后的图像为:,水平镜像,医学图像垂直镜像的公式可表示为,G0(-n0,k0)表示原始图像中像素点(-n0,k0)的像素值,Gvm(n0,k0)表示垂直镜像后的图像中像素点(n0,k0)的像素值,垂直镜像,例3.9,已知原始医学图像,写出图像垂直镜像的公式和锤直镜像后的图像。,医学图像垂直镜像的公式可表示为:,垂直镜像,首先得到原始图像中各像素点对应的坐标:,垂直镜像,由于图像垂直镜像是以图像的水平中轴为对称轴将图像上下两部分对换,因此在利用垂直镜像公式时,必须将横轴移至图像的水平中轴,当图像的行数(高度)为偶数时,图像水平中轴不能确定,必须在行的末端补充一行,使行数为奇数,图像的行数为偶数,补充一行并坐标平移后的图像中各像素点对应的坐标如下:,垂直镜像,垂直镜像,将补充的行去掉得垂直镜像后的图像为:,垂直镜像,(a)(b)(c),(a)是原始医学图像(b)是水平镜像后的图像(c)是垂直镜像后的图像,垂直镜像,医学图像其它运算,医学图像代数运算是指对多幅输入的医学图像进行加、减、乘、除计算而得到输出图像的运算。图像相加可以用于图像合成。图像相减常用于检测两幅或多幅图像之间的变化。在医学图像处理中图像相减可用于感兴趣区域或目标的提取。,一、医学图像的代数运算,1.加法运算,2.减法运算(差分),3.乘法运算,4.除法运算,一、医学图像的代数运算,在医学图像处理中,通常利用图像的加法运算把同一景物的多幅图像加起来求平均,以减少图像的随机噪声,也可以为突出某种增强效果的需要把多幅图像有目的的叠加在一起。,加法运算,加法运算,设有一幅混入噪声的图像g(x,y)是由原始图像 f(x,y)和噪声图像e(x,y)叠加而成,即:g(x,y)=f(x,y)+e(x,y)假设各点的噪声是互不相关的,且具有零均值。可以将一系列的图像gi(x,y)相加来消除噪声。,图像平均,设M个图像相加求平均得到一幅新图像 即:,可以证明它们的期望值为:,图像平均,考虑新图像和噪声图像各自均方差间的关系:有:,可见随着平均图数量M的增加,噪声在每个像素位置(x,y)的影响逐步减少。,相加,M=1,M=2,M=4,M=16,Addition:averaging for noise reduction,图像相减,通过减法运算对同一场景在不同时间拍摄的图像进行相减,用来消除前后影像中相同的背景内容,增强前后有所变化的部分。减法运算的这一特点在临床上具有重要的应用价值,数字减影血管造影(DSA)就是利用图像的相减。,The basic principle of DSA,相减DSA,X-ray image obtained before and after injection of dye into arteries.Dye affects appearance of blood vessels but not surrounding tissues.Subtracting pre-and post-injection images enhances blood vessels relative to tissues.(Image courtesy of D.W.Holdsworth,RRI.),=,可以检测同一场景两幅图像之间的变化,用于运动目标检测和跟踪及目标识别等工作。,二、图像的局部运算和全局运算,(一)图像的局部运算 如果输出图像在(x,y)点处的像素值不仅与输入图像在(x,y)点处的像素值有关,还与输入图像在(x,y)点处像素的周围像素的值有关,这种运算称为图像的局部运算。一般通过卷积运算获得。,卷积运算,一维:,二维:,离散形式:,卷积运算,w(k,l)称为卷积和,或卷积模板,或卷积算子。一般情况下,卷积核为具有行列数相等且行列数为奇数的小方阵,实际应用中一般取33,55,77的小方阵。,R(i,j)=,Convolution,(二)图像的全局运算,如果输出图像在(x,y)点处的像素值与输入图像的所有像素值都有关系,这种运算称为图像的全局运算比如第四章要讲的图像的傅立叶变换等,MATLAB实现,imadjust函数来实现图像的对比度调整。,J=imadjust(I,low_in high_in,low_out high_out,gamma),low_in high_in指定输入图象需要调整的灰度范围,low_out high_out指定输出图象的灰度范围。gamma描述I和J关系曲线的形状,默认时,gamma=1,表示线性变换。,MATLAB实现,说明:使用imadjust函数时,按照以下两个步骤 绘制直方图,观察灰度范围;将灰度范围转换为0.01.0之间的分数。,例:,I=imread(rice.tif);imshow(I);figure,imhist(I);J=imadjust(I,0 0.3,0 1);figure,imshow(J);figure,imshow(I);,MATLAB实现,缩放变换函数imresize。,B=imresize(A,scale);B=imresize(A,mrows ncols);=imresize(,method);,scale指缩放系数,1放大,缩小mrows ncols指定变换后图像的大小method:插值方法(nearest,binear,cubic),MATLAB实现,imtransform函数:对图像进行二维空间变换,B=imtransform(A,TFOM);B=imtransform(A,TFOM,INTERP);,对图像作由R定义的空间变换,R结构体数据可以由maketform产生INTERP指插值方法,MATLAB实现,maketform函数:产生空间变换参数结构体数据TFORM函数。,B=imtransform(A,TFOM);B=imtransform(A,TFOM,INTERP);,对图像作由R定义的空间变换,TFORM定义很多类型的空间变换,包括放射变换affine transformations(如平移translation,缩放scaling,旋转rotation,剪切shearing)、投影变换projective transformations和自定义的变换custom transformations。R结构体数据可以由maketform或cp2tform创建,仿射变换,%定义空间平移变换%变换矩阵xform=1 0 0 0 1 0 20 40 1 在这个矩阵中,xform(3,1)定义了图像在水平方向上平移的像素数,xform(3,2)定义了图像在垂直方向上平移的像素数。,仿射变换,使用maketform函数可以创建TFORM结构体,参数为希望执行变换的类型和变换矩阵。%创建TFORM结构体tform_translate=maketform(affine,xform);执行变换使用imtransform函数执行变换,参数为要变换的图像和TFORM结构体,函数将返回变换后的图像。,仿射变换,MATLAB实现,imrotate函数:对图像进行绕其中心的旋转变换,B=imresize(A,angle);B=imresize(A,angle,method);B=imresize(A,angle,method,bbox);,Angle:指旋转角度,逆时针,顺时针method:插值方法(nearest,binear,cubic)图像旋转过程中图像的大小会发生变化,原始图像的大小不一定能容纳下变换后的图像缺省状态下,函数会产生一个足够大的图像以将原始图像都包容进去也可以通过bbox参数指定输出图像的大小(loose,crop),