医学图象处理实验指导书实验一Matlab图象处理基础实验目的:了解应用Matlab编程的基本方法,熟悉数字图象的类型与格式,常用的图象处理函数的功能与用法,掌握应用Matlab设计图象处理程序的基本方法。实验内容:图象类型,图象格式,读写图象、转换图象格式、显示图象,计算灰度灰度直方图。实验二图象增强与图像去噪实验目的:理解图象增强的原理、方法与算法实现,了解噪声的类型与特点,理解常用的去除噪声方法的原理、特点与实现方法。理解空间域与频率域图像处理方法,进一步熟悉并掌握Matlab图象处理程序设计方法。实验内容:灰度线性变换与非线性变换、高通滤波、高频增强滤波、直方图均衡化、直方图匹配;低通滤波、中值滤波、均值滤波实验三几何变换与形态学运算实验目的:理解图像几何变换的分类、表示方法,以及变换的过程与关键,能熟练编程对图像实现常见的几何变换;理解形态学运算的原理、主要方法,能编程实现常用的形态学算法。实验内容:图像缩放、错切、平移、旋转变换;比较不同插值算法对结果的影响;腐蚀、膨胀、开、并运算,以及它们在去噪、边缘检测、填补孔洞、连通性检测、细化与提取骨架方面的应用。实验四图象分割实验目的:理解并掌握图像分割的主要方法,并能利用Maltab编程实现相关算法,对不同分割方法进行比较,了解它们各自的特点与适应性。实验内容:基于灰度差分与梯度的边缘检测方法,各种边缘检测算子包括Robert,Prewitt,Sobel,Laplacian,LoG,Canny算子等,对于无噪与不同噪声水平下图像,比较它们的性能;掌握阈值化方法灰度阈值的确定、了解K均值聚类、snake形变模型。实验一Matlab图象处理基础实验目的:了解应用Matlab编程的基本方法,熟悉数字图象的类型与格式,常用的图象处理函数的功能与用法,掌握应用Matlab设计图象处理程序的基本方法。实验内容:图象类型,图象格式,读写图象、转换图象格式、显示图象与灰度直方图。实验方法:1、数字图象的格式2、数字图象的类型(1)索引图像在Matlab中输入以下命令,或在编辑状态输入代码,保存并执行。比较使用颜色索引表与未使用颜色索引表的区别。[X,map]=imread('forest.tif')imshow(X,map);title('使用颜色索引表');figure;imshow(X,map)title(‘未使用颜色索引表’);whosXwhosmap(2)灰度图像loadlinawhosI0imshow(I0);title('灰度图像')(3)RGB图像M=imread('girl2.bmp');whosMimshow(M);title('RGB图像')(4)黑白图象(4)DICOM图像I=dicomread(‘008.dcm’);Maxv=max(I(:));Minv=min(I(:));imshow(I);info=dicominfo((‘008.dcm’)3、图象处理的常用命令在Matlab中分别输入以下命令,了解它们的功能与用法:(1)helpimread(2)helpimshow(3)helpimwrite(4)helprgb2gray(5)helpload(6)helpsave(7)helpimhist(8)helpsubimage(9)helpimresize(10)helpimrotate(11)helpedge(12)helpimadjust(13)helphisteq(14)helpimnoise(15)helpwiener2(16)helpdilate(17)helperode4、图象处理编程参照讲义中的图像增强程序,掌握Matlab图象编程的基本方法实验二图象分割与图象增强实验目的:掌握基本的图象分割方法,观察图象分割的效果,加深对边缘检测、区域生长的理解。理解并掌握空间域图象增强的方法。实验内容:边缘检测,模板匹配,区域生长;直方图均衡,图像增亮、图像变暗、降低对比度、中值滤波,添加高斯噪声、非锐化对比度增强滤波实验方法:一、图象分割与边缘检测(1)在MatlabHelp菜单中,选Demos项。(2)打开Toolboxes\ImageProcessing项,选EdgeDetection,并运行。(3)选图象Blood、边缘检测方法Sobel。(4)按Apply键。(5)观察检测到的边界。(6)改变阈值,重做(4)-(5)。(7)选边缘检测方法Prewitt,重做(4)-(6)。(8)选边缘检测方法Roberts,重做(4)-(6)。(9)选边缘检测方法LaplacianofGaussian,重做(4)-(6)。(10)选其他图象,重做(4)-(9)。二、图象增强1)直方图均衡化请编程对图1(girl.bmp)与图2(Fig10.15(a)_c.bmp)进行直方图均衡化处理,比较处理前后结果图1girl.bmp图2Fig10.15(a)_c.bmp图3brain1.bmp2)直方图匹配请将图1、图2与图3(参考图像,brain1.bmp)的直方图进行匹配,并与直方图均衡化的结果进行比较3)图像增强综合编程(1)Matlab的编辑窗口输入以下代码并保存为imageprocess1.m文件。functionimageprocess1(orgImg,method)%orgImg;待处理图像名%method;方法选项switchmethodcase'HistogramEqualization'result=histeq(orgImg);ImgTitle='直方图均衡化';case'Brighten'result=imadjust(orgImg,[],[.251]);ImgTitle='亮化'case'Darken'result=imadjust(orgImg,[],[0.75]);ImgTitle='变暗'case'IncreaseContrast'result=imadjust(orgImg,[.25.75],[]);ImgTitle='增加对比度'case'DecreaseContrast'result=imadjust(orgImg,[],[.25.75]);ImgTitle='降低对比度'case'MedianFilter'result=medfilt2(orgImg,[55]);ImgTitle='中值滤波'case'AddGaussianNoise'result=imnoise(orgImg,'Gaussian',0,.01);ImgTitle='添加高斯噪声'case'UnsharpMasking'h=fspecial('unsharp');J=filter2(h,orgImg);result=(J-min(min(J)))/(max(max(J))-min(min(J)));ImgTitle='反锐化掩模滤波'otherwisewarning('输入参数不正确!');end;figure;imshow(result);title(ImgTitle);%Functionend(2)新建一个文件,输入以下代码,并保存为main.m。loadimdemosflower;clc;echoon;figure;imshow(flower);title('OriginalImage');imageprocess1(flower,'HistogramEqualization');imageprocess1(flower,'Brighten');imageprocess1(flower,'Darken');imageprocess1(flower,'IncreaseContrast');imageprocess1(flower,'DecreaseContrast');imageprocess1(flower,'MedianFilter');imageprocess1(flower,'UnsharpMasking');echooff;实验三图象梯度与形态学运算实验目的:理解图象梯度的离散化表示方法,掌握图象梯度的求解方法,观察不同方向图象梯度的区别,理解并掌握形态学图象处理。实验内容:梯度、腐蚀、膨胀、开运算与闭运算,提取骨架与细化算法实验方法:一、图象梯度(1)在Matlab的编辑窗口中输入以下代码,将文件保存为GetGradient.m。a=imread('house.bmp');x=double(a)/255;y=fspecial('prewitt');X=filter2(y,x);Y=filter2(y',x);T=imadd(X,Y);subplot(2,2,1),subimage(a);title('original');subplot(2,2,2),subimage(X);title('X方向的梯度分量');subplot(2,2,3),subimage(Y);title('Y方向的梯度分量');subplot(2,2,4),subimage(T);title('梯度分量');(2)运行GetGradient.m,比较图象在X方向,Y方向的梯度与梯度二、形态学运算分别输入以下代码,观察并比较结果1、膨胀BBWW11==iimmrreeaadd((''tteexxtt..ttiiff''));;SSEE==oonneess((33,,22));;BBWW22==ddiillaattee((BBWW11,,SSEE));;iimmsshhooww((BBWW11));;ffiigguurree,,iimmsshhooww((BBWW22));;2、腐蚀BBWW11==iimmrreeaadd((''tteexxtt..ttiiff''));;SSEE==oonneess((33,,22));;BBWW22==ddiillaattee((BBWW11,,SSEE));;iimmsshhooww((BBWW11));;ffiigguurree,,iimmsshhooww((BBWW22));;3、开运算I=imread('nodules1.tif');bw=~im2bw(I,graythresh(I));se=strel('disk',5);bw2=imopen(bw,se);imshow(bw),title('Thresholdedimage')figure,imshow(bw2),title('Afteropening')4、闭运算I=imread('pearlite.tif');bw=~im2bw(I,graythresh(I));imshow(I),title('Original')figure,imshow(bw),title('Step1:threshold')se=strel('disk',6);bw2=imclose(bw,se);bw3=imopen(bw2,se);figure,imshow(bw2),title('Step2:closing')figure,imshow(bw3),title('Step3:opening')思考:1、图象不同方向的梯度的本质是什么,结合实验结果,理解图象梯度的意义,它们在图象处理中的作用。2、图象形态学的各种运算的特点,应用范围,形态学算子的构造。作业一:1、求图1house.bmp图像的梯度图像(包括X方向、Y方向梯度分量与梯度图像)2、对图2blood图像添加均值为0,方差为0.05的Gaussian噪声,然后对其用3×3与7×7的模板实现均值滤波,并比较其结果3、试用6.3.3节介绍的细化算法,求图3scuttlogo.bmp的骨架(先将RGB图像转换为灰度图像)图1图2图3作业二:1、一幅图象大小为7*7,灰度级为0-7,其灰度值如图4所示。(1)计算其灰度分布概率(2)显示直方图(3)进行直方图均衡化处理2、对图5(a)与图5(b)分别用最近邻插值、双线性与三线性插值法进行如下处理,并比较其结果:(1)旋转45度(2)旋转120度(3)放大3倍3、求图6的一阶与二阶导数,并对图6