文档详情

实验3形态学图像处理分解.doc

发布:2017-02-16约1.96千字共15页下载文档
文本预览下载声明
实验3 图像增强及形态学图像处理 实验目的: 掌握均值滤波和中值滤波的原理及实现; 掌握锐化模板prewitt,sobel和laplacian的使用方法; 了解形态学的基本理论和方法; 掌握对图像进行膨胀/腐蚀的方法; 掌握开闭运算; 实验内容: (1)给图像headCT分别添加椒盐噪声和高斯噪声,分别采用线性的均值滤波函数imfilter和非线性的中值滤波函数medfilt2滤波进行处理,两种滤波的掩模都分别尝试定义为3*3和7*7。由得到的实验结果,分析哪种滤波对这种噪声处理的效果比较好?掩模大小对噪声处理效果有什么影响? f=imread(headCT.tif); f=im2double(f); f=mat2gray(f); //噪声前要转换为范围[0,1]内的double类 f1=imnoise(f,salt pepper); //椒盐噪声 figure,imshow(f1); w=ones(3); //3*3全1的矩阵 f11=imfilter(f1,w); //采用线性的均值滤波函数imfilter imshow(f11,[]) //显示出来 w=ones(7); //7*7全1的矩阵 f12=imfilter(f1,w); //采用线性的均值滤波函数imfilter imshow(f12,[]) f13=medfilt2(f1,[3 3]); //非线性的中值滤波函数medfilt2 figure,imshow(f13,[]); f14=medfilt2(f1,[7 7]); //非线性的中值滤波函数medfilt2 figure,imshow(f14,[]); f2=imnoise(f,gaussian); //高斯噪声 figure,imshow(f2); w=ones(3); //3*3全1的矩阵 f21=imfilter(f2,w); //采用线性的均值滤波函数imfilter imshow(f21,[]) //显示出来 w=ones(7); //7*7全1的矩阵 f22=imfilter(f2,w); //采用线性的均值滤波函数imfilter imshow(f22,[]) f23=medfilt2(f2,[3 3]); //非线性的中值滤波函数medfilt2 figure,imshow(f23,[]); f24=medfilt2(f2,[7 7]); //非线性的中值滤波函数medfilt2 figure,imshow(f24,[]); 编写m文件,实现同时用sobel算子对图片的水平和垂直方向进行处理? 对图片text.tif进行膨胀操作,选择结构元素为[0 1 0;1 1 1;0 1 0]和[1 1 1;1 1 1;1 1 1]观察其处理效果的异同,如果一次膨胀的效果不明显,可多次膨胀再比较; f=imread(text.tif); f=im2double(f); f=mat2gray(f); SE=[0 1 0;1 1 1;0 1 0] //[0 1 0;1 1 1;0 1 0] BW2=imdilate(f,SE,n); //n次膨胀 figure,imshow(BW2,[]); SE=[1 1 1;1 1 1;1 1 1] //[1 1 1;1 1 1;1 1 1] BW2=imdilate(f,SE,n); //n次膨胀 figure,imshow(BW2,[]); 选做题:对图片shapes.tif进行开、闭运算,比较其处理的效果,采用方形结构元素(可由strel(’square’,3)得到)。 f=imread(shapes.tif); SE=strel(square,20); f1=imopen(f,SE); //开运算 figure,imshow(f1); 开运算是A被B腐蚀后再用B来膨胀。 SE=strel(square,20); f2=imclose(f,SE); //闭运算 figure,imshow(f2); 闭运算是先膨胀再腐蚀。 选做题:仿照课本P272例9.7,计算和显示图像pattern.tif中最后一个字母”a”的质心 f=imread(pattern.tif); [L,n]=bwlabel(f);
显示全部
相似文档