医学图像处理实验指南_第1页
医学图像处理实验指南_第2页
医学图像处理实验指南_第3页
医学图像处理实验指南_第4页
医学图像处理实验指南_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、医学图像处理实验指南中国医科大学生物医学工程系2008.6目 录 TOC o 1-3 h z u 实验一 位图文件的读取、显示以及存储 PAGEREF _Toc200271081 h 2实验二 数字图像的几何变换 PAGEREF _Toc200271082 h 6实验三 直方图均衡 PAGEREF _Toc200271083 h 10实验四 空间域平滑和锐化 PAGEREF _Toc200271084 h 12实验五 频率域滤波增强 PAGEREF _Toc200271085 h 16实验六 彩色图像处理 PAGEREF _Toc200271086 h 20实验一 位图文件的读取、显示以及存储

2、实验目的掌握标准C及C+编程语言,熟悉Visual C+编程环境。了解数字图像的表示。了解位图文件的格式。实验内容使用Visual C+编写程序,读取标准图像lena.bmp,并将数据存入到一个二维数组中。在用户视图区正确显示该图像。将图像数据行首尾倒置,并保存到一个新的位图文件中。用图像浏览器(如ACDSee、PhotoShop等)验证新写入的位图文件是否正确。实验原理位图文件(Bitmap_File,BMP)格式是Windows所采用的图像文件存储格式。一般来说,位图文件由四个部分组成:位图文件头(bitmap_header)、位图信息头(bitmap_information header

3、)、调色板以及位图数据区(字节阵列)。实验步骤4.1图像数据读取在Windows下打开Visual C+ 6.0,建立工程readbmp,并将该工程保存在自定义的目录下。在视图类的头文件readbmpView.h中定义位图文件头、信息头、调色板数据类型,并声明该类型的变量。文件头:struct bmicolor WORD bftype; DWORD bfsize; DWORD bfreserved; DWORD bfoffbits; fh;信息头: struct infohead DWORD bisize; DWORD biwidth; DWORD biheight; WORD biplane

4、s; WORD bibitcount; DWORD bicompression; DWORD bisizeimage; DWORD bixpelspermeter; DWORD biypelspermeter; DWORD biclrused; DWORD biclrimportant; ih;调色板: struct bmpcolor BYTE blue; BYTE green; BYTE red; BYTE reserved; pallete256;在视图类文件readbmpView.cpp中的OnDraw( )函数里定义一个二维数组,用来保存图像像素的灰度值。声明一个文件类对象,CFile

5、 fp; 打开图像文件,fp.Open(c:ddd.bmp,0);读取图像中文件头、信息头和调色板信息。fp.Read(&fh,sizeof(fh);fp.Read(&ih,sizeof(ih);for (i=0;iSetPixel(j+50,i+50,RGB(a,a,a);4.3 图像存储1. 将图像的行首尾倒置。2. 以写方式来打开一个bmp文件。3. 依次将文件头、信息头、调色板、图像数据写入该文件中。4. 用图像浏览器验证结果。实验报告要求实验目的、实验内容、实验原理、实验步骤。实验源代码。实验结果(在屏幕上显示的图像和行颠倒后的图像)。思考题256色彩色图像和256灰度图像的有哪些区

6、别?实验二 数字图像的几何变换实验目的了解图像几何变换的类型和相应方法。掌握图像比例缩放的原理和方法。掌握图像旋转变换的原理和方法。熟悉最近邻域插值、双线性插值的特点和方法。实验内容使用Visual C+编写程序,读取标准图像lena.bmp,采用双线性插值算法将其放大2.5倍,并在屏幕上显示。对读出的lena图像进行任意角度的旋转,并将结果在屏幕上显示。实验原理图像的比例缩放数字图像的比例缩放是指将给定的图像在x方向和y方向按相同的比例缩放a倍,从而获得一幅新的图像。比例缩放的实质是为新图像中的每个像素分配合适的灰度值,其过程是将新图像看作是一个能够伸缩的橡皮网格,将其缩放a倍后,求其每个坐

7、标点在原始图像中的位置。设(x0, y0)是新图像中的一点,缩放后其在原图像中的位置为(x, y),则通过上述坐标变换获得x和y很有可能都是非整数值,也就是点(x, y)在原图像中没有对应的像素点,因此需要通过灰度级插值的方法获取改点的灰度值。图像的旋转图像的旋转变换是几何学中研究的重要内容之一。一般情况下,图像的旋转变换是以图像的中心为原点,将图像上的所有像素都旋转同一个角度的变换。经过旋转变换后,图像中每个像素的坐标位置都会发生变化,同时图像的尺寸也会改变。因此,对图像的旋转操作也可以分为两个步骤,即坐标的变换以及灰度级插值。设原始图像的任意点(x0, y0)经旋转角后新坐标为(x, y)

8、,则最后,x和y很有可能都是非整数值,因此也需要通过灰度级插值的方法获取改点的灰度值。灰度级插值在对图像进行几何变换时,原始图像的像素坐标(x, y)为整数,而坐标变换后目标图像的位置坐标并非整数,因此该点的灰度值应由其附近的整数坐标点的灰度值来决定,这个操作称为灰度级插值处理。常用的方法有最近邻法和双线性插值法。最近邻法。设(x, y)为通过坐标变换得到的新坐标位置,在原图中寻找与(x, y)临近的四个整数坐标点,并将与其距离最近的整数坐标点的灰度值作为点(x,y)近似灰度值。图2.1 双线性插值法ABDCEF(x, y)双线性插值法。用线性内插的方法,根据点(x, y)临近的四个整数坐标点

9、的灰度值,通过两次插值计算出(x, y)的灰度值。如图 设A、B、C、D分别为与(x, y)临近的四个整数坐标点,其坐标为别为(x, y)、(x+1, y)、(x+1, y+1)、(x, y+1),灰度值分别为fA、fB、fC、fD。首先根据A点和D点的灰度值求出E点灰度值fE,即同理,F点的灰度值fF为那么,根据E和F两点的灰度值便可求出点(x, y)的灰度值f,即实验步骤图像的比例缩放读取尺寸为mn位图文件lena.bmp;计算放大后图像的尺寸,M=2.5m,N=2.5n为放大后的图像分配内存空间,即g=(unsigned char *) malloc(sizeof(unsigned ch

10、ar)*M*N);对放大后图像的每一个点(i, j) ()进行坐标变换,变换后的坐标为别为;利用双线性插值法计算点的灰度值,即放大后图像(i, j)处的灰度值。在屏幕上显示放大后的图像4.2 图像旋转读取尺寸为mn位图文件lena.bmp;计算放大后图像的尺寸为放大后的图像分配内存空间,即g=(unsigned char *) malloc(sizeof(unsigned char)*M*N);计算原图像和旋转后图像的变换中心,并计算它们之间的距离,平移原图像,使旋转前后的图像具有相同的变换中心。将旋转后图像的的变换中心作为坐标原点,对其中的每一个像素点(i, j) ()进行坐标变换,变换后的

11、坐标为别为;利用最近邻法计算点的灰度值,即放大后图像(i, j)处的灰度值。在屏幕上显示放大后的图像实验报告要求实验目的、实验内容、实验原理、实验步骤。程序源代码。要求程序可读性好,重要的程序段或变量须加注释。实验结果(缩放后的图像和旋转后的图像)。思考题比较两种插值方法对实验结果的影响?实验三 直方图均衡实验目的了解图像直方图的概念。了解直方图均衡的目的和用途。掌握直方图均衡的原理和方法。实验内容使用Visual C+编写程序,读取图像,并将数据存入到一个二维数组中。对图像进行直方图均衡,并将处理后的图像显示在用户视图区。实验原理图像的灰度直方图是一种表示数字图像中各级灰度值及其出现频率关系

12、的函数,通常用二维坐标来描述直方图,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频数或概率。灰度直方图从整体上描述了一幅图像的概貌特征,如果一幅图像的直方图覆盖了灰度级很宽的范围,而且灰度级的分布很均匀,那么这幅图像就会具有高的对比度和多变的灰度色调,因此我们可以通过修改直方图的方法来调整图像的灰度分布。直方图均衡主要是用来增强动态范围偏小的图像的反差,从而提高图像的灰度对比度。其主要思想是把一已知灰度概率分布的图像,经过某种变换,变成一幅具有均匀灰度概率分布的图像。由此可以看出,直方图均衡的关键就是寻求一个灰度变换函数,使得变换后的图像具有均匀的灰度概率分布。若用和分别表示原图像和变换

13、后图像的灰度概率密度函数,根据概率论的知识,其中,为单调递增函数如果我们将原图像的灰度概率分布函数作为变换函数,即那么,因此 。 可见,当取变换函数为原图像的灰度概率分布函数作为变换函数时,变换后图像的灰度概率密度是均匀的。实验步骤利用实验一的程序代码读出待增强的原图像。定义大小为256的一维数组p,用来保存每个灰度级出现的概率密度。统计原图像中每个灰度级的像素数目,并保存在数组p中。计算每个灰度级出现的概率密度,即用数组p中的每个元素除以图像总的像素数目。计算图象各个灰度级的累计分布概率,记为,即计算变换前后灰度级的对应关系,即灰度级变换,对原图像中每一个像素的灰度级用来代替。实验报告要求实

14、验目的、实验内容、实验原理、实验步骤。实验源代码。实验结果(在屏幕上显示直方图均衡后的图像)。思考题为什么一般情况下对离散图像进行均衡化并不能产生完全平坦的直方图?直方图均衡适用于对什么样的图像进行增强?实验四 空间域平滑和锐化实验目的学会模板操作方法;了解平滑和锐化的意义和用途;熟练掌握均值滤波和中值滤波方法;熟练掌握梯度算子和拉普拉斯算子;实验内容使用Visual C+编写程序,读取图像,并将数据存入到一个二维数组中。使用不同尺寸的模板对图像进行均值滤波,并将处理后的图像显示在用户视图区。对图像进行中值滤波,并将处理后的图像显示在用户视图区。使用拉普拉斯算子对图像进行锐化;使用sobel算

15、子对图像进行锐化;实验原理平滑滤波一般用于消除图像中的随机噪声,从而起到图像平滑的作用。图像噪声在视觉上通常与它们相邻的像素明显不同,通常为孤立点,表现形式为黑区域上的白点或白区域上的黑点。根据随机噪声的特点,在进行平滑滤波时,通常用噪声点周围临近像素点的灰度值来作为其新的灰度值。均值滤波和中值滤波是最常用的平滑滤波方法,其中均值滤波是线性运算,而中值滤波是非线性运算。均值滤波法是将一个像素点及其邻域中的所有像素点的平均值赋值给输出图像中相应的像素点,从而达到平滑的目的。最简单的均值滤波法采用系数取值都为1的模板,如33、55,以及更大尺度的模板。采用邻域平均法进行平滑滤波能够有效去除噪声,但

16、同时也会使图像中的细节及目标边缘变模糊,而且模板尺寸越大,模糊现象越严重。中值滤波法则在消除噪声的同时还能保持图像中的细节部分。中值滤波是一种非线性滤波,它将邻域内(或模板覆盖下)所有像素点的灰度值从小到大排序,去中间值作为中心像素点的输出值。图像锐化主要用于加强图像中景物的边缘和轮廓,突出图像中的细节部分。由于边缘和轮廓处于灰度突变的地方,因此可以通过微分算子来突出或强调这些突然的变化。图像锐化最常用的是基于仪阶微分的“梯度法”和基于二阶微分的“拉普拉斯算子“。对于一幅图像,它的梯度是一个向量,可以表示为:梯度向量的模值因具有各向同性,因此可以作为锐化滤波器。由于数字图像是离散量,无法采用微

17、分运算,因此用差分运算来代替。同时,由于在求取梯度模值时,需要进行平方和开放运算,运算量大,因此用绝对值来代替。这样,梯度算子可以表示为:除梯度算子外,还可以采用Prewitt算子和Sobel算子,其对应模板如图4.1所示。-101-101-101-1-1-1000111-101-101-101-101-202-101-101-202-101图4.1 (b)Sobel算子图4.1 (a)Prewitt算子拉普拉斯算子是二阶微分算子,即同样,微分操作用差分来代替,则拉普拉斯算子的离散表达式为:拉普拉斯算子对应的模板如图4.2所示。0-10-14-10-10-1-1-1-18-1-1-1-1图4.

18、2 拉普拉斯算子所对应的模板实验步骤均值滤波利用实验一的程序代码读出待增强的尺寸为MN的原图像。定义33的二维数组p,用来保存模板系数。定义和原图像尺寸相同的二维数组newimage,用来保存均值滤波的结果。解决图像边界问题。将原图像的首尾行和首尾列复制到结果图像中,不予处理。将模板在原图像中依次移动,并将模板中心与待处理的像素(不包括边缘像素点)重合,将模板中的各系数与其对应的像素点相乘,并将相乘结果相加求平均,则均值即为目标图像中对应模板中心位置的像素点灰度值。将目标图像在屏幕上显示。改变模板尺寸,对比不同尺寸的模板对图像的影响。中值滤波利用实验一的程序代码读出待增强的尺寸为MN的原图像。

19、定义一个尺寸为9的一维数组p,用来保存原图像中待处理像素33邻域内的像素灰度值。定义和原图像尺寸相同的二维数组newimage,用来保存中值滤波的结果。解决图像边界问题。将原图像的首尾行和首尾列复制到结果图像中,不予处理。依照从左到右、从上到下的顺序依次处理原图像中的每一个像素,将待处理像素周围33邻域内的像素灰度值保存到一维数组p中。使用冒泡排序法对数组p中的值按升序进行排序。将排序结果p4的值作为待处理像素新的灰度值,并保存在目标图像的对应位置中。将目标图像在屏幕上显示。使用Sobel算子对图像进行锐化具体实验步骤参照上述均值滤波的过程。使用拉普拉斯算子对图像进行锐化具体实验步骤参照上述均

20、值滤波的过程,在得到的目标图像中,像素的灰度值有正有负,要正确显示目标图像,需要线性调整目标图像的灰度范围,将每个像素的灰度值线性调整到0255这个范围之内。实验报告要求实验目的、实验内容、实验原理、实验步骤。实验源代码。实验结果(在屏幕上显示滤波后的图像)。思考题进行均值滤波时,模板尺寸的大小对滤波结果有什么影响?为什么?进行均值滤波时,模板的形状对滤波有什么影响?对比sobel算子和拉普拉斯算子滤波后的结果,说明一阶微分和二阶微分在对图像锐化的区别。实验五 频率域滤波增强实验目的熟悉快速傅立叶变换算法FFT。了解低通滤波和高通滤波的区别.熟练掌握高斯高通和高斯低通滤波器;实验内容使用Vis

21、ual C+编写程序,读取图像,并将数据存入到一个二维数组中。对图像进行傅立叶变换,并观察频谱。分别用理想低通和高斯低通滤波器对图像进行滤波,反变换后观察滤波结果。分别用理想高通和高斯高通滤波器对图像进行滤波,反变换后观察滤波结果。实验原理频域增强方法是将图像从空间域变换到频率域,在频域空间对图像进行滤波处理。空间域滤波可以看作是图像与模板进行卷积运算,即根据卷积定理,我们可以得到其中,、 分别是函数、和的傅立叶变换。称为滤波器传递函数,在对图像进行频率域增强时,首要的任务就是确定,的性质决定了对图像处理的效果。图像从空间域变换到频率域后,其低频分量对应图像中灰度值变化比较缓慢的区域,而高频分

22、量则对应着图像细节或物体边缘等灰度突变的成分。如果滤波器的功能是削弱或抑制高频分量,保留低频分量,这种滤波器称为低通滤波器。频率域中的低通滤波和空间域中的平滑滤波一样,用以消除图像中的随机噪声,消弱边缘效应,起到平滑图像的作用。常用的低通滤波器包括理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器。三种低通滤波器的传递函数如下: 理想低通滤波器传递函数 n阶巴特沃斯低通滤波器传递函数 高斯低通滤波器传递函数其中,是一个非负数,称为截止频率,而是频率域中从点到频域原点的距离,即在频率域对图像进行滤波时,如果滤波器的功能是削弱和抑制低频成分,而保留高频成分,则这种滤波器称为高通滤波器。频域中的高通

23、滤波可以对图像的边缘信息进行增强,起到图像锐化的作用。高通滤波器包括理想高通滤波器、巴特沃斯高通滤波器、高斯高通滤波器等。这三种滤波器的传递函数如下: 理想高通滤波器传递函数 n阶巴特沃斯高通滤波器传递函数 高斯高通滤波器传递函数在频率域对图像进行滤波处理的过程如图5.1所示FFT傅立叶变换H(u,v )传递函数IFFT傅立叶反变换图5.1 频域滤波系统框图实验步骤利用实验一的程序代码读出原图像。要求原图像的行数和列数都为2的整数次幂(为了方便调用FFT算法)。如果不足,自行补零。补零后图像的尺寸为MN。定义两个大小为MN的二维数组R和I,用来保存二维傅立叶变换的实部和虚部。为了将频谱中心移中

24、,在进行傅立叶变换之前,对原图像进行预处理,即用乘以。进行二维傅立叶变换,首先对每一行进行傅立叶变换,然后对中间结果的每一列进行傅立叶变换,将结果保存在二维数组R和I中。这样就将二维傅立叶变换分解为多次一维傅立叶变换。在屏幕上显示和观察图像的频谱。分别采用理想低通滤波器和高斯低通滤波器对图像进行低通滤波。此时的频谱中心位于处,此时:。注意实部和虚部要做同样的修改,并将滤波后的结果仍保存在R和I中。对滤波后的结果进行傅立叶反变换(也可对滤波结果取复共轭,然后进行傅立叶正变换)。取反变换的实部,并保存在一个新的二维数组中MN。用乘以反变换的实部,得到滤波后的图像,并在屏幕上显示。重复上述过程,采用

25、理想高通滤波器和高斯高通滤波器进行滤波,观察滤波后的结果。实验报告要求实验目的、实验内容、实验原理、实验步骤。实验源代码。实验结果(在屏幕上显示高通和低通滤波后的图像)。思考题为什么在傅立叶变换之前要对图像进行预处理,即用乘以?为什么用理想低通和理想高通滤波器滤波后会存在振铃效应?实验六 彩色图像处理实验目的了解三种彩色模型的概念、特点和用途。熟悉三种彩色模型之间的关系和相互转换。熟练运用HSI模型对真彩色图像进行处理。实验内容使用Visual C+编写程序,读取24位真彩色图像对图像进行反色变换。将彩色图像转换为灰度图像。对彩色图像进行直方图均衡。实验原理彩色模型(也称彩色空间或彩色系统)的

26、用途是在某些标准下用通常可接受的方式简化彩色规范。目前常用的彩色模型可分为两类,一类是面向硬件设备的,如RGB模型、CMY(青、深红、黄)模型和CMYK(青、深红、黄、黑)模型,前者用于彩色监视器和彩色视频摄像机,后两者主要用于彩色打印机;另一类主要面向彩色处理应用,如HSI(色调、饱和度和亮度)模型,可以将图像分成彩色和灰度信息,更加适合于许多灰度处理技术。RGB彩色模型RGB彩色模型基于笛卡尔坐标,构成了如图6.1所示的彩色立方体子空间。R、G、B位于相应的坐标轴的顶点,黑色位于原点,白色位于离原点最远的顶点,不同的颜色处在立方体上或其内部,并可用从原点分布的向量来定义。在RGB彩色模型中

27、,所表示的图像由三个图像分量组成,每一个图像分量都是一幅8比特图像,每一个彩色像素称为24比特深度。图6.1 彩色立方体示意图CMY和CMYK模型CMY和CMYK模型组要适用于彩色打印和复印设备。青、深红和黄色是光的二次色,也是颜料的颜色。RGB模型和CMY模型的转换为:其中,假设R、G、B的值都归一化为0,1范围。等量的颜料原色(青、深红、黄)可以产生黑色。实际上,组合出来的黑色不纯。因此为了产生真正的黑色加入了第四种颜色黑色,因此产生了CMYK彩色模型。HSI彩色模型HSI模型可在彩色图像中从携带的彩色信息(色调和饱和度)里消去强度分量的影响,对于开发基于彩色描述的图像处理方法是一个理想的

28、工具。色调是描述纯色的属性(如纯黄、橘黄或红色等),饱和度给出一种纯色被白光稀释的程度的度量。亮度体现了无色的强度概念,是单色图像最有用的描述子。黑白青红绿蓝黄深红图6.2 基于圆形彩色平面的HIS彩色模型HSI模型定义在如图6.2所示的圆柱形坐标的双圆锥子集上。下面圆锥的顶点为黑色,亮度为0,上面圆锥的顶点为白色,亮度为1,连接黑和白的轴线称为亮度轴。对于圆锥体上的任意一个色点p,p点的亮度由p所在的垂直于亮度轴的的平面与亮度轴的交点确定。垂直于亮度轴的平面是一个圆形色环,描述了HSI的色调和饱和度。色调由绕亮度轴I的旋转角给定。红色对应角度0,对于任意一个色点p来说,其色调值对应于指向该点

29、的矢量与0的夹角,其饱和度的值为指向该点的矢量的长度。RGB彩色模型与HSI彩色模型之间的转换对于RGB模型中的在0,1范围内的R、G、B值,对应的HSI模型中的各分量可由下面的公式计算得出:对于HSI模型中的在0,1范围内的H、S、I值,对应的RGB模型各分量可由下面的公式计算得出:当时: 当时: 当时: 反色变换反色是指与某种色调互补的另一种色调,反色变换就是得到原图像的负片效果。在真彩色图像中,R、G、B三个分量都用8位二进制表示,则反色图像g(x,y)与输入图像f(x,y)的R、G、B分量之间的关系可表示为:彩色图像灰度化在一些实际应用中,为了加快图像处理的速度,常需要利用将采集设备得到的彩色图像转换为灰度图像后再进行处理。将彩色图像转换为灰度图像的实质,就是通过对图像R、G、B分量的变换,使得每个像素点的这三个分量值相等。常用的方法有最大值法、平均值法和加权平均值法。最大值法:平均值法:加权均值法:其中,在加权平均值法中,权值的选取较为关键,权值不同,彩色图像的灰度化结果也不同。相关研究表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论