matlab第二次训练题目.doc
《matlab第二次训练题目.doc》由会员分享,可在线阅读,更多相关《matlab第二次训练题目.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验名称: 数学软件训练-程序应用之图像 专业:班级:时间 姓名:学号:指导老师:一、 实验目的及要求 (一)实验目的学习和查阅图像老师所给自学文档。 (二)实验要求 独立完成所给实验题目,查阅书本及网络资料,完成相关作业,课后提交实验报告。二、实验设备(环境)及要求1、支持Intel Pentium 及其以上CPU,内存256MB以上、硬盘1GB以上容量的微机;软件配有Windows98/2000/XP操作系统及MATLAB软件;2、实验过程中,务必分析实验结果,按要求写出实验报告。(提交报告文档编写方式:学号+姓名),上网查阅相关资料,完成以下问题。三、 实验内容与步骤 一)图像基本处理,
2、用你自己的照片,完成以下问题,读入图像命令(imread)。 参考程序和样式如下:1、灰度处理由于RGB图像是三维图像,所以图像数据是一个三维数组,为了显示灰度图像,把三维图像降为二维,可以只取其中的二维数据,实现方法程序为:y=(handles.img(:,:,1); %当然也可以选择(:,:,2) 或(:,:,3) imshow(y);但是这样的话,根据程序所选的不同,图像数据也不同,显示也就不一样。另一种方法就是,运用rgb2gray函数实现彩色图像到灰度图像的转换。程序为:y=rgb2gray(handles.img); imshow(y);如果原图是RGB,执行该操作的结果如下图:2
3、亮度调整用imadjust函数,其调用格式如下: g=imadust(f,low_in high_in,low_out high_out),gamma)gamma 表示映射性质,默认值是1 表示线性映射。由于该函数有五个参数需要输入,为了方便用户改变,所以这里设计一个输入对话框,用户通过对话框把五个参数赋值给low_in high_in,low_out high_out,gamma这五个参数3截图在MATLAB中,用函数imcrop实现对图像的剪切操作。该操作剪切的是图像中的一个矩形子图,用户可以通过参数指定这个矩形四个顶点的坐标,也可以交互地用鼠标选取这个矩形。Imcrop函数的调用格式如下
4、: y=imcrop(handles.img);不管handles.img是三维的还是二维数据,该函数都能进行操作。下图就是对三维图像的截图:4、缩放在MATLAB中,用函数imresize来实现对图像的放大或缩小。插值方法可选用三种方法,最近邻插值,双线性插值,双三次插值。该函数的调用格式如下:Bimresize(A,m,method)其中:参数method用于指定插值的方法,可选的值为“nearest”(最近邻法),“bilinear”(双线性插值)、“bicubic”(双三次插值),缺省值为“nearest”。Bimresizee(Am,method)表示返回原图A的m倍放大图像(m小于
5、1时实际上是缩小);下图就是采用邻近插值法的放大和缩小图像,参数值保持默认设置: 虽然处理后看不出放大的效果,这是由于坐标轴限制的原因,如果把处理后的图片保存起来,再把处理后的文件打开,就可以看到比较明显的放大效果。 缩小后的结果如下: 5上下翻转函数flipud是实现一个二维矩阵的上下翻转,如a=1 2;3 4,经过该函数处理后,原矩阵变为3 4;1 2;所以利用该函数也可以对图像进行上下翻转处理,但由于该函数针对二维数据的处理,所以在写程序时,要对RGB图像和灰度图像分开处理,这就要用到isrgb函数来判断,如果是灰度图像,则可以直接用这个函数进行处理,否则就要对RGB图像进行降维处理,
6、for k=1:3 y(:,:,k)=flipud(x(:,:,k);end 处理结果如图: 6左右翻转对图像的左右翻转也可以用fliplr函数来处理,同样的,也要对灰度和彩色图像分开处理,处理结果如图: 7任意角度翻转 用函数imrotate来实现对图像的插值旋转。该函数的调用格式如下: Bimrotate(A,angle,method,crop) 其中,参数method用于指定插值的方法,可选的值可以有三种,分别为邻近插值,双线性插值,双三次插值,缺省时为邻近插值,参数angle代表旋转的角度。一般来说,旋转后的图像会比原图大,用户可以指定“crop”参数对旋转后的图像进行剪切(取图像的中
7、间部分),使返回的图像与原图大小相同。执行结果为: 8 噪声经常用到的噪声有三种,高斯噪声,椒盐噪声,乘性噪声,可以通过以下三个函数来实现:y=imnoise(handles.img,gaussian,p1,p2);%高斯噪声y=imnoise(x,salt & pepper,p1); %椒盐噪声y=imnoise(handles.img,speckle,p1); %乘性噪声p1,p2的参数也通过输入对话框的形式得到,原图加入高斯噪声后结果如下所示:9滤波 这里选择三种滤波方法,k=medfilt2(handles.noise_img);%中值滤波k=wiener2(handles.noise
8、_img,5,5);%自适应滤波k=filter2(fspecial(average,3),handles.noise_img)/255;%平滑滤波 同样的,这些函数也是针对二维数据,所以要先判断是彩色图像还是灰度图像,然后分别进行处理,下面是对彩色图像的自适应滤波处理:i=handles.noise_img;if isrgb(i) a=handles.noise_img(:,:,1);b=handles.noise_img(:,:,2);c=handles.noise_img(:,:,3); k(:,:,1)=wiener2(a,5,5); k(:,:,2)=wiener2(b,5,5);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 第二次 训练 题目
限制150内