地理与生物信息学院
2012/ 2013 学年 第 二 学期
实 验 报 告
课程名称: 医学成像技术
实验名称:磁共振图像后处理算法设计
班 级 学 号: B10090405
学 生 姓 名: 陈 洁
指 导 教 师: 戴修斌
日 期: 2013 年 5 月
2
一、实验题目:磁共振图像后处理算法设计
二、实验内容:
1.
对图像进行去除噪声操作 ;
2.对图像进行灰度变换操作 ;
三、实验目的:
1.加强下同学们实际的动手编程能力 ;
2.重在体验和过程 ;
四、 实验过程
:
实验1:对图像进行去除噪声操作:
1.操作步骤:
1) 对图像加入高斯噪声
2) 使用中值滤波对图像进行去噪处理
3) 模板尺寸设为5×5,也可自己设定
4) 图像边缘缺失部分使用对称方法补足
511416
7181
91
718191
51
1416
1121
31
112131112151147181715111312116148131169191
14718151718171517114819116918116
91
91
3
2. 算法实现流程:
1) 读入图像函数:imread(),中值滤波函数:medfilt2();
实验2:对图像进行灰度变换操作
1.操作步骤:
1) 原图像灰度范围[50 150]内的像素灰度值转成[10 250]范围;
2) 原图像灰度范围[50 150]内的像素灰度值转成[20 200]范围;
2.
算法实现流程:
源代码:
clear;clc;
iptsetpref('ImshowBorder','tight');
I = imread('C:\Documents and Settings\nupt\桌面\4.bmp');
J = imnoise(I,'gaussian',0.02,0.02);
K = medfilt2(J,[5,5]);
figure,imshow(I),title('原图');
figure,imshow(J),title('高斯噪声');
figure,imshow(K),title('中值滤波');
f(x, y)
a
m
b
n
g(x, y)
byxfnbyxfamayxfabmnayxfmyxg),(
),( ]),([),( ),(
4
a=50;
b=150;
m=10;
n=250;
c=20;
d=200;
g=zeros(512,512);
f=zeros(512,512);
for x=1:512
for y=1:512
if I(x,y)g(x,y)=m;
else
if I(x,y)>b
g(x,y)=n;
else
g(x,y)=(n-m)/(b-a)*(I(x,y)-a)+m;
end
end
end
end
for x=1:512
for y=1:512
if I(x,y)f(x,y)=c;
else
if I(x,y)>b
f(x,y)=d;
else
f(x,y)=(d-c)/(b-a)*(I(x,y)-a)+c;
5
end
end
end
end
figure,imshow(g,[]),xlabel('原灰度图像50,150--10,250');
figure,imshow(g,[]),xlabel('原灰度图像50,150--20,200');
3.运行结果:
原图: 高斯噪声:
中值滤波': 原灰度图像50,150--10,250:
6
原灰度图像50,150--20,200:
五.实验小结:
通过这次实验,我了解了磁共振图像后处理算法设计的内容,同时也对matlab
有了更深层次的认识,比如说很多编程的技巧问题,程序的结构设计问题,对于
程序的运行效率非常有帮助。有的时候,编出来的程序,能够运行,但是耗时太
长,也就是说程序没有错,但是不适合实际运行。或者说,对于规模小的问题能
够解决,但是规模大一点的问题就需要很长很长的时间,这就需要对程序的结构
和算法问题进行改进。