数字图像处理实验(全完整答案)

上传人:ali****an 文档编号:134562098 上传时间:2020-06-06 格式:DOC 页数:39 大小:1,015.50KB
返回 下载 相关 举报
数字图像处理实验(全完整答案)_第1页
第1页 / 共39页
数字图像处理实验(全完整答案)_第2页
第2页 / 共39页
数字图像处理实验(全完整答案)_第3页
第3页 / 共39页
数字图像处理实验(全完整答案)_第4页
第4页 / 共39页
数字图像处理实验(全完整答案)_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《数字图像处理实验(全完整答案)》由会员分享,可在线阅读,更多相关《数字图像处理实验(全完整答案)(39页珍藏版)》请在金锄头文库上搜索。

1、实验一 常用MATLAB图像处理命令一、实验目的 1、熟悉并掌握MATLAB工具的使用;2、实现图像的读取、显示、代数运算和简单变换。二、实验环境MATLAB 6.5以上版本、WIN XP或WIN2000计算机三、常用函数l 读写图像文件1 imread imread函数用于读入各种图像文件,如:a=imread(e:w01.tif) 2 imwrite imwrite函数用于写入图像文件,如:imwrite(a,e:w02.tif,tif) 3 imfinfo imfinfo函数用于读取图像文件的有关信息,如:imfinfo(e:w01.tif)l 图像的显示1 image image函数是

2、MATLAB提供的最原始的图像显示函数,如: a=1,2,3,4;4,5,6,7;8,9,10,11,12; image(a); 2 imshow imshow函数用于图像文件的显示,如: i=imread(e:w01.tif);imshow(i);title(原图像)%加上图像标题 3 colorbar colorbar函数用显示图像的颜色条,如: i=imread(e:w01.tif); imshow(i); colorbar; 4 figurefigure函数用于设定图像显示窗口,如:figure(1); /figure(2);5 subplot 把图形窗口分成多个矩形部分,每个部分可以

3、分别用来进行显示。Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建坐标轴为当前坐标轴,用于显示图形。6 plot绘制二维图形plot(y)Plot(x,y)xy可以是向量、矩阵。l 图像类型转换1 rgb2gray把真彩图像转换为灰度图像i=rgb2gray(j)2 im2bw通过阈值化方法把图像转换为二值图像I=im2bw(j,level)Level表示灰度阈值,取值范围01(即0.n),表示阈值取自原图像灰度范围的n%3 imresize改变图像的大小I=imresize(j,m n)将图像j大小调整为m行n列l 图像运算1 imadd两幅图像相加,要求同样大小,同种数据

4、类型Z=imadd(x,y)表示图像x+y2 imsubstract两幅图像相减,要求同样大小,同种数据类型Z=imsubtract(x,y) 表示图像x-y3 immultiplyZ=immultiply(x,y) 表示图像x*y4 imdivideZ=imdivide(x,y) 表示图像x/y四、实验内容(请将实验程序填写在下方合适的位置,实验图像结果拷屏粘贴)39 / 391、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。a=imread(f:1.jpg)i = rgb2gray(a)I = im2bw(a,0.

5、5)subplot(3,1,1);imshow(a);title(原图像)subplot(3,1,2);imshow(i);title(灰度图像)subplot(3,1,3);imshow(I);title(二值图像) 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。a=imread(f:1.jpg)A=imresize(a,800 800)b=imread(f:2.jpg)B=imresize(b,800 800)Z1=imadd(A,B)Z2=imsubtract(A,B)Z3=immultiply(A,B)Z4=imdivide(A,B)s

6、ubplot(3,2,1); imshow(A);title(原图像A)subplot(3,2,2); imshow(B);title(原图像B)subplot(3,2,3); imshow(Z1);title(加法图像)subplot(3,2,4); imshow(Z2);title(减法图像)subplot(3,2,5); imshow(Z3);title(乘法图像)subplot(3,2,6); imshow(Z2);title(除法图像)3、 对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。a=imread(f:1.jpg);

7、m = imadjust(a,0.5;1) ;%图像变亮n = imadjust(a,0;0.5) ;%图像变暗g=255-a;%负片效果subplot(2,2,1);imshow(a);title(原图像)subplot(2,2,2);imshow(m);title(图像变亮)subplot(2,2,3);imshow(n);title(图像变暗) subplot(2,2,4);imshow(g);title(负片效果) 4、熟悉数字图像处理常用函数的使用,调出帮助文档查看其各种不同用法。方法:选择函数(函数所在区变暗),点右键弹出菜单,选择“Help on Selection”五、实验总结

8、分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。实验四 常用图像增强方法一、实验目的 1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。二、实验环境MATLAB 6.5以上版本、WIN XP或WIN2000计算机三、相关知识 1 imnoise imnoise函数用于对图像生成模拟噪声,如: i=imread(e:w01.tif);j=imnoise(i,gaussian,0,0.02);模拟均值为0方差为0.02的高斯噪声,j=imnoise(i,salt&pepper, 0.04) 模拟叠加密度为0.04的椒盐噪声 2 fspeci

9、al fspecial函数用于产生预定义滤波器,如: h=fspecial(sobel);%sobel水平边缘增强滤波器 h=fspecial(gaussian);%高斯低通滤波器 h=fspecial(laplacian);%拉普拉斯滤波器 h=fspecial(log);%高斯拉普拉斯(LoG)滤波器 h=fspecial(average);%均值滤波器3 基于卷积的图像滤波函数 imfilter函数, filter2函数,二维卷积conv2滤波,都可用于图像滤波,用法类似,如: i=imread(e:w01.tif); h=1,2,1;0,0,0;-1,-2,-1;%产生Sobel算子的

10、水平方向模板j=filter2(h,i);或者:h = fspecial(prewitt)I = imread(cameraman.tif);imshow(I); H = fspecial(prewitt); %预定义滤波器M = imfilter(I,H);imshow(M) 或者: i=imread(e:w01.tif); h=1,1,1;1,1,1;1,1,1; h=h/9; j=conv2(i,h);4 其他常用滤波举例(1)中值滤波 medfilt2函数用于图像的中值滤波,如: i=imread(e:w01.tif); j=medfilt2(i,M N);对矩阵i进行二维中值滤波,领

11、域为M*N,缺省值为3*3 (2)利用拉氏算子锐化图像, 如: i=imread(e:w01.tif); j=double(i); h=0,1,0;1,-4,0;0,1,0;%拉氏算子 k=conv2(j,h,same);三、实验步骤1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7I = imread(f:lena.png);J = imnoise(I,salt & pepper,0.04);K1 = medfilt2(J,3 3);%对矩阵i进行二维中值滤波,领域为3*3 K2 = medfilt2(J,5 5);K3 = medfilt

12、2(J,7 7);subplot(2,2,1);imshow(J);title(椒盐噪声干扰图像)subplot(2,2,2);imshow(K1);title(领域为3*3二维中值滤波)subplot(2,2,3);imshow(K2);title(领域为5*5二维中值滤波) subplot(2,2,4);imshow(K3);title(领域为7*7二维中值滤波) 2、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波I = imread(f:lena.png);j=imnoise(i,gaussian,0,0.02);%模拟均值为0方差为0.02的高斯噪声,M= fil

13、ter2(fspecial(average,9),J)/255; %模板尺寸为9subplot(2,1,1);imshow(j);title(噪声干扰图像)subplot(2,1,2);imshow(M);title(改进后的图像)3、 采用三种不同算子对图像进行锐化处理。i=imread(f:1.jpg)I=rgb2gray(s)H=fspecial(sobel)%应用Sobel算子锐化图像I1=filter2(H,I)%Sobel算子滤波锐化H=fspecial(prewitt)%应用prewitt算子锐化图像I2=filter2(H,I)%prewitt算子滤波锐化H=fspecial(

14、log)%应用log算子锐化图像I3=filter2(H,I)%log算子滤波锐化subplot(2,2,1);imshow(i);title(原图像)subplot(2,2,2);imshow(I1);title(Sobel算子锐化图像)subplot(2,2,3);imshow(I2);title(prewitt算子锐化图像) subplot(2,2,4);imshow(I3);title(log算子锐化图像) 四、实验总结1、比较不同平滑滤波器的处理效果,分析其优缺点2、比较不同锐化滤波器的处理效果,分析其优缺点实验五 图像恢复和图像分割一、实验目的 1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的恢复和分割技术。二、实验环境MATLAB 6.5以上版本、WIN XP或WIN2000计算机三、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号