ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:319.36KB ,
资源ID:24443808      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24443808.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(医学图像处理实验指南.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

医学图像处理实验指南.docx

1、医学图像处理实验指南第六节 医学图像处理一、位图文件的读取、显示以及存储【实验目的】1. 掌握标准C及C+编程语言,熟悉Visual C+编程环境。2. 了解数字图像的表示。3. 了解位图文件的格式。【实验内容】1. 使用Visual C+编写程序,读取标准图像lena.bmp,并将数据存入到一个二维数组中。2. 在用户视图区正确显示该图像。3. 将图像数据行首尾倒置,并保存到一个新的位图文件中。用图像浏览器(如ACDSee、PhotoShop等)验证新写入的位图文件是否正确。【实验原理】偏移量域的名称大小内容图像文件头0000.h标识符(Identifier)2bytes两字节的内容用来识别

2、位图的类型:BM: Windows 3.1x, 95, NTBA: OS/2 Bitmap ArrayCI: OS/2 Color IconCP: OS/2 Color PointerIC: OS/2 IconPT: OS/2 Pointer0002hFile Size1 dword用字节表示的整个文件的大小0006hReserved1 dword保留,设置为0000AhBitmap Data Offset1 dword从文件开始到位图数据开始之间的数据(bitmap data)偏移量000EhBitmap Header Size1 dword位图信息头(Bitmap Info Head)的长

3、度,用来描述位图的颜色、压缩方法等,下面的长度表示:28h - Windows 3.1x, 95, NT0Ch OS/2 1.xF0h - OS/2 2.x0012hWidth1 dword位图的宽度,以像素为单位0016hHeight1 dword位图的高度,以像素为单位001AhPlanes1 word位图的位面数图像信息头001ChBits Per Pixel1 word每个像素的位数1 - Monochrome bitmap4 16 color bitmap8 256 color bitmap16 16bit(high color) bitmap24 24bit(high color)

4、 bitmap32 32bit(high color) bitmap001EhCompression1 dword压缩说明:0 none (也使用BI_RGB表示)1 - RLE 8-bit/pixel(也使用BI_RLE8表示)2 - RLE 4-bit/pixel(也使用BI_RLE4表示)3 - Bitfields(也使用BI_BITFIELDS表示)0022hBitmap Data Size1 dword用字节数表示的位图数据的大小。该数必须是4的倍数0026hHResolution1 dword用像素/米表示的水平分辨率002AhVResolution1 dword用像素/米表示的垂

5、直分辨率002EhColors1 dword位图是用的颜色数。如8-位/像素表示为100h或者2560032hImportant Colors1 dword指定重要的颜色数。当该域的值等于颜色数时,表示所有颜色都一样重要调色板数据0036hPaletteN*4 byte调色板规范。对于调色板中的每个表项,这4个字节用下述方法来描述RGB的值:1字节用于蓝色分量1字节用于绿色分量1字节用于红色分量1字节用于填充符(设置为0)图像数据0436hBitmap Datax byte该域的大小取决于压缩方法,他包含所有的位图数据字节,这些数据实际就是彩色调色板的索引号表6-1 位图文件格式位图文件(Bi

6、tmap_File,BMP)格式是Windows所采用的图像文件存储格式。一般来说,位图文件由四个部分组成:位图文件头(bitmap_header)、位图信息头(bitmap_information header)、调色板以及位图数据区(字节阵列)。【实验内容】1. 图像数据读取(1) 在Windows下打开Visual C+ 6.0,建立工程readbmp,并将该工程保存在自定义的目录下。(2) 在视图类的头文件readbmpView.h中定义位图文件头、信息头、调色板数据类型,并声明该类型的变量。文件头:struct bmicolor WORD bftype; DWORD bfsize;

7、DWORD bfreserved; DWORD bfoffbits; fh;信息头: struct infohead DWORD bisize; DWORD biwidth; DWORD biheight; WORD biplanes; WORD bibitcount; DWORD bicompression; DWORD bisizeimage; DWORD bixpelspermeter; DWORD biypelspermeter; DWORD biclrused; DWORD biclrimportant; ih;调色板: struct bmpcolor BYTE blue; BYTE

8、 green; BYTE red; BYTE reserved; pallete256;(3) 在视图类文件readbmpView.cpp中的OnDraw( )函数里定义一个二维数组,用来保存图像像素的灰度值。(4) 声明一个文件类对象,CFile fp; (5) 打开图像文件,fp.Open(c:ddd.bmp,0);(6) 读取图像中文件头、信息头和调色板信息。fp.Read(&fh,sizeof(fh);fp.Read(&ih,sizeof(ih);for (i=0;iSetPixel(j+50,i+50,RGB(a,a,a);3. 图像存储(1) 将图像的行首尾倒置。(2) 以写方式来

9、打开一个bmp文件。(3) 依次将文件头、信息头、调色板、图像数据写入该文件中。(4) 用图像浏览器验证结果。【实验报告】1. 实验目的、实验内容、实验原理、实验内容。2. 实验源代码。3. 实验结果(在屏幕上显示的图像和行颠倒后的图像)。【实验思考】256色彩色图像和256灰度图像的有哪些区别?二、数字图像的几何变换【实验目的】1. 了解图像几何变换的类型和相应方法。2. 掌握图像比例缩放的原理和方法。3. 掌握图像旋转变换的原理和方法。4. 熟悉最近邻域插值、双线性插值的特点和方法。【实验内容】1. 使用Visual C+编写程序,读取标准图像lena.bmp,采用双线性插值算法将其放大2

10、.5倍,并在屏幕上显示。2. 对读出的lena图像进行任意角度的旋转,并将结果在屏幕上显示。【实验原理】1. 图像的比例缩放数字图像的比例缩放是指将给定的图像在x方向和y方向按相同的比例缩放a倍,从而获得一幅新的图像。比例缩放的实质是为新图像中的每个像素分配合适的灰度值,其过程是将新图像看作是一个能够伸缩的橡皮网格,将其缩放a倍后,求其每个坐标点在原始图像中的位置。设(x0, y0)是新图像中的一点,缩放后其在原图像中的位置为(x, y),则通过上述坐标变换获得x和y很有可能都是非整数值,也就是点(x, y)在原图像中没有对应的像素点,因此需要通过灰度级插值的方法获取改点的灰度值。2. 图像的

11、旋转图像的旋转变换是几何学中研究的重要内容之一。旋转是需要围绕一个中心点来进行的,若没有指定旋转变换的中心,一般来说,可以围绕图像的左上角或者图像的中心来进行。数字图像中的二维矩阵是以第一个像素为原点,图像的旋转变换是将图像上的所有像素都旋转同一个角度的变换。本实验是围绕图像左上角进行旋转的操作。经过旋转变换后,图像中每个像素的坐标位置都会发生变化,同时图像的尺寸也会改变。因此,对图像的旋转操作也可以分为两个步骤,即坐标的变换以及灰度级插值。设原始图像的任意点(x0, y0)经旋转角后新坐标为(x, y),则最后,x和y很有可能都是非整数值,因此也需要通过灰度级插值的方法获取改点的灰度值。 若

12、实现围绕图像中心或者任意点的旋转变换,首先要将进行平移操作,将原点位置由原来的首个像素平移到中心点位置,在按照上述的旋转公式进行坐标变换,灰度级差值,最后将旋转后图像的中心再平移回到首个像素的位置,以实现图像的正常显示与存储。由于时间关系,绕任意点的旋转变换由学生自行完成。3. 灰度级插值在对图像进行几何变换时,原始图像的像素坐标(x, y)为整数,而坐标变换后目标图像的位置坐标并非整数,因此该点的灰度值应由其附近的整数坐标点的灰度值来决定,这个操作称为灰度级插值处理。常用的方法有最近邻法和双线性插值法。(1) 最近邻法。设(x, y)为通过坐标变换得到的新坐标位置,在原图中寻找与(x, y)

13、临近的四个整数坐标点,并将与其距离最近的整数坐标点的灰度值作为点(x,y)近似灰度值。(2) 双线性插值法。用线性内插的方法,根据点(x, y)临近的四个整数坐标点的灰度值,通过两次插值计算出(x, y)的灰度值。如图6-1所示。图6-1 双线性差值法 设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,即【实验内容】1. 图像的比例缩放

14、(1) 读取尺寸为mn位图文件lena.bmp;(2) 计算放大后图像的尺寸,M=2.5m,N=2.5n(3) 为放大后的图像分配内存空间,即g=(unsigned char *) malloc(sizeof(unsigned char)*M*N);(4) 对放大后图像的每一个点(i, j) ()进行坐标变换,变换后的坐标为别为; (5) 利用双线性插值法计算点的灰度值,即放大后图像(i, j)处的灰度值。(6) 在屏幕上显示放大后的图像2. 图像旋转(1) 读取尺寸为mn位图文件lena.bmp;(2) 计算放大后图像的尺寸(3) 为放大后的图像分配内存空间,即g=(unsigned cha

15、r *) malloc(sizeof(unsigned char)*M*N);(4) 对旋转后图像中的每一个像素点(i, j) ()进行坐标变换,变换后的坐标为别为; (5) 利用最近邻法或双线性差值法计算点的灰度值,即放大后图像(i, j)处的灰度值。(6) 在屏幕上显示放大后的图像。【实验报告】1. 实验目的、实验内容、实验原理、实验内容。2. 程序源代码。要求程序可读性好,重要的程序段或变量须加注释。3. 实验结果(缩放后的图像和旋转后的图像)。【实验思考】比较两种插值方法对实验结果的影响?三、 直方图均衡【实验目的】1. 了解图像直方图的概念。2. 了解直方图均衡的目的和用途。3. 掌

16、握直方图均衡的原理和方法。【实验内容】1. 使用Visual C+编写程序,读取图像,并将数据存入到一个二维数组中。2. 对图像进行直方图均衡,并将处理后的图像显示在用户视图区。【实验原理】图像的灰度直方图是一种表示数字图像中各级灰度值及其出现频率关系的函数,通常用二维坐标来描述直方图,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频数或概率。灰度直方图从整体上描述了一幅图像的概貌特征,如果一幅图像的直方图覆盖了灰度级很宽的范围,而且灰度级的分布很均匀,那么这幅图像就会具有高的对比度和多变的灰度色调,因此我们可以通过修改直方图的方法来调整图像的灰度分布。直方图均衡主要是用来增强动态范围偏小

17、的图像的反差,从而提高图像的灰度对比度。其主要思想是把一已知灰度概率分布的图像,经过某种变换,变成一幅具有均匀灰度概率分布的图像。由此可以看出,直方图均衡的关键就是寻求一个灰度变换函数,使得变换后的图像具有均匀的灰度概率分布。若用和分别表示原图像和变换后图像的灰度概率密度函数,根据概率论的知识,其中,为单调递增函数如果我们将原图像的灰度概率分布函数作为变换函数,即那么, 因此。 可见,当取变换函数为原图像的灰度概率分布函数作为变换函数时,变换后图像的灰度概率密度是均匀的。【实验内容】1. 利用实验一的程序代码读出待增强的原图像。2. 定义大小为256的一维数组p,用来保存每个灰度级出现的概率密

18、度。3. 统计原图像中每个灰度级的像素数目,并保存在数组p中。4. 计算每个灰度级出现的概率密度,即用数组p中的每个元素除以图像总的像素数目。5. 计算图象各个灰度级的累计分布概率,记为,即6. 计算变换前后灰度级的对应关系,即7. 灰度级变换,对原图像中每一个像素的灰度级用来代替。【实验报告】1. 实验目的、实验内容、实验原理、实验内容。2. 实验源代码。3. 实验结果(在屏幕上显示直方图均衡后的图像)。【实验思考】1. 为什么一般情况下对离散图像进行均衡化并不能产生完全平坦的直方图?2. 直方图均衡适用于对什么样的图像进行增强?实验四 空间域平滑和锐化【实验目的】1. 学会模板操作方法;2

19、. 了解平滑和锐化的意义和用途;3. 熟练掌握均值滤波和中值滤波方法;4. 熟练掌握梯度算子和拉普拉斯算子。【实验内容】1. 使用Visual C+编写程序,读取图像,并将数据存入到一个二维数组中。2. 使用不同尺寸的模板对图像进行均值滤波,并将处理后的图像显示在用户视图区。3. 对图像进行中值滤波,并将处理后的图像显示在用户视图区。4. 使用拉普拉斯算子对图像进行锐化;5. 使用sobel算子对图像进行锐化。【实验原理】平滑滤波一般用于消除图像中的随机噪声,从而起到图像平滑的作用。图像噪声在视觉上通常与它们相邻的像素明显不同,通常为孤立点,表现形式为黑区域上的白点或白区域上的黑点。根据随机噪

20、声的特点,在进行平滑滤波时,通常用噪声点周围临近像素点的灰度值来作为其新的灰度值。均值滤波和中值滤波是最常用的平滑滤波方法,其中均值滤波是线性运算,而中值滤波是非线性运算。均值滤波法是将一个像素点及其邻域中的所有像素点的平均值赋值给输出图像中相应的像素点,从而达到平滑的目的。最简单的均值滤波法采用系数取值都为1的模板,如33、55,以及更大尺度的模板。采用邻域平均法进行平滑滤波能够有效去除噪声,但同时也会使图像中的细节及目标边缘变模糊,而且模板尺寸越大,模糊现象越严重。中值滤波法则在消除噪声的同时还能保持图像中的细节部分。中值滤波是一种非线性滤波,它将邻域内(或模板覆盖下)所有像素点的灰度值从

21、小到大排序,去中间值作为中心像素点的输出值。图像锐化主要用于加强图像中景物的边缘和轮廓,突出图像中的细节部分。由于边缘和轮廓处于灰度突变的地方,因此可以通过微分算子来突出或强调这些突然的变化。图像锐化最常用的是基于仪阶微分的“梯度法”和基于二阶微分的“拉普拉斯算子“。对于一幅图像,它的梯度是一个向量,可以表示为:梯度向量的模值因具有各向同性,因此可以作为锐化滤波器。由于数字图像是离散量,无法采用微分运算,因此用差分运算来代替。同时,由于在求取梯度模值时,需要进行平方和开放运算,运算量大,因此用绝对值来代替。这样,梯度算子可以表示为:除梯度算子外,还可以采用Prewitt算子和Sobel算子,其

22、对应模板如图6-2所示。-101-101-101-1-1-1000111-101-202-101-101-202-101(b) Soble算子(a) Prewitt算子图4.1 (b)Sobel算子图4.1 (a)Prewitt算子图6-2 一阶微分算子拉普拉斯算子是二阶微分算子,即同样,微分操作用差分来代替,则拉普拉斯算子的离散表达式为:拉普拉斯算子对应的模板如图6-3所示。0-10-14-10-10-1-1-1-18-1-1-1-1图6-3 拉普拉斯算子所对应的模板【实验内容】1. 均值滤波(1) 利用实验一的程序代码读出待增强的尺寸为MN的原图像。(2) 定义33的二维数组p,用来保存模

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

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

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

26、. 熟练掌握高斯高通和高斯低通滤波器。【实验内容】1. 使用Visual C+编写程序,读取图像,并将数据存入到一个二维数组中。2. 对图像进行傅立叶变换,并观察频谱。3. 分别用理想低通和高斯低通滤波器对图像进行滤波,反变换后观察滤波结果。4. 分别用理想高通和高斯高通滤波器对图像进行滤波,反变换后观察滤波结果。【实验原理】频域增强方法是将图像从空间域变换到频率域,在频域空间对图像进行滤波处理。空间域滤波可以看作是图像与模板进行卷积运算,即根据卷积定理,我们可以得到其中,、分别是函数、和的傅立叶变换。称为滤波器传递函数,在对图像进行频率域增强时,首要的任务就是确定,的性质决定了对图像处理的效

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

28、器的功能是削弱和抑制低频成分,而保留高频成分,则这种滤波器称为高通滤波器。频域中的高通滤波可以对图像的边缘信息进行增强,起到图像锐化的作用。高通滤波器包括理想高通滤波器、巴特沃斯高通滤波器、高斯高通滤波器等。这三种滤波器的传递函数如下: 理想高通滤波器传递函数 n阶巴特沃斯高通滤波器传递函数 高斯高通滤波器传递函数在频率域对图像进行滤波处理的过程如图6-4所示图6-4 频域滤波系统框图【实验内容】1. 利用实验一的程序代码读出原图像。要求原图像的行数和列数都为2的整数次幂(为了方便调用FFT算法)。如果不足,自行补零。补零后图像的尺寸为MN。2. 定义两个大小为MN的二维数组R和I,用来保存二

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1