实验一 Matlab图像处理工具箱的初步练习(my)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5. 函数imrotate对图像进行旋转操作,我们看如下的程序段: I=imread('cameraman.tif'); J=imrotate(I,-15,‘bilinear’); %将图像顺时针旋转150。
K=imrotate(I,-15,'bilinear','crop'); imshow(I)
三、常用函数
•读写图像文件 1 imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 2 imwrite
imwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’)
3 imfinfo imfinfo函数用于读取图像文件的有关信息, 如:imfinfo('e:\w01.tif')
•图像类型转换
1 rgb2gray 把真彩图像转换为灰度图像 i=rgb2gray(j) 2 im2bw
通过阈值化方法把图像转换为二值图像
I=im2bw(j,level) Level表示灰度阈值,取值范围0~1(即0.n),表示阈值取自原 图像灰度范围的n%
3 imresize 改变图像的大小
Baidu Nhomakorabea
I=imresize(j,[m n])将图像j大小调整为m行n列
“bilinear”方法)和2.6倍(用“bicubic”方法),显示在不同的图像窗口中。 2、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 3.从磁盘上读入图像“lena.tif”,将其放大2倍,并将结果用BMP格式以 “lena.bmp”为文件名,写入磁盘。(用imwrite命令,该命令的用法请用help imwrite查看) 4.给定一幅图像,如lena.bmp,分别将其顺时针旋转45度,逆时针旋转30 度。 5. 给定一幅图像,如lena.bmp,以不同灰度级显示,比较显示的不同效果。 6. 对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子
(4) 显示这幅图:imshow(i);
(5) 将变量i转置成j,即j=i';显示j即imshow(j);%在胸前左侧花纹怎么会跑到 右边的呢? 举一个例子加以验证:设a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15]; b=a';此时的b与a 有什么区别? (6) 写入到一个新的图像文件‘abc.tif’中,即imwrite(j,'abc.tif')。 (7) 清除变量命令:clear
窗口来分别显示,注上文字标题。
六. 实验报告要求
1. 实验报告:
(1)实验原理、方法; (2)实验步骤; (3)实验程序; (4)实验结果(处理前图像、处理后图像) 2. 实验结论、总结以及收获、体会等。
四、练习 1. 文件的读入与显示
(1) 运行Matlab。 (2) MATLAB窗口构成:在缺省的情况下,由三个窗口组成。命令窗口 (command window)、命令历史(command history)、工作空间 (workspace)。 (3) 调入一个文件:i=imread('pout.tif'); 此时的i出现在什么窗口?是什么类型的变量?大小是多少?
4. Imrotate
图像旋转
B=imrotate(A,angle,method);%使用指定的插值方法(逆时 针/顺时针方向将图像A旋转angle角度。 B=imrotate(A,angle,method,’crop’) % 通过指定crop参数对旋转后的图像进行剪切(取图像的 中间部分)
•图像运算 1 imadd
实验一
Matlab图像处理工具箱的初 步练习
一、实验目的
1. 掌握有关数字图像处理的基本概念;
2. 熟悉Matlab图像处理工具箱;
3. 熟悉使用Matlab进行数字图像的读出和显示;
4. 熟悉运用Matlab指令进行图像旋转和缩放变换。
二、实验环境
MATLAB 6.5以上版本、WIN XP或WIN2000计算机
执行这个命令后,workspace窗口中的变量有没有?怎么验证?
(8) 清除用户开设的窗口命令:close all (9) 调入图像文件'abc.tif'并显示。
2. 灰度图像 分别选择不同的灰度级(如2、4、16、64、128个)来显示同一幅图像 (如testpat1.tif)。i=imread('testpat1.tif'); figure,imshow(i,2) figure,imshow(i,4) figure,imshow(i,16) figure,imshow(i,64) figure,imshow(i,128) %显示2个灰度级 %显示4个灰度级 %显示16个灰度级 %显示64个灰度级 %显示128个灰度级
• 图像的显示
1 image image函数是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(‘原图像’)%加上图像标题
figure,imshow(J)
figure,imshow(K)
程序运行后得到如下的结果:
左边是原图,中间和右边是旋转后的结果,注意右边的图像和中间图像的区 别,右边的图像是由参数’crop’ 实现的,该参数表示将旋转后的图像取与原 图像相同的中心部分输出。
五. 实验内容
1.从磁盘上读入图像“cameraman.tif”,将其分别放大到1.5倍(用
3. RGB图像 RGB = imread(‘ngc6543a.jpg’); %RGB为650*600*3 imshow(RGB);
将这一图写入到abc.jpg文件中去,将此图的尺寸改为300*300,其效果如何?
4. 在Matlab中,函数imresize(X,M,method)可用来改变图像的大小,其中 X表示图像,实数M>0是放大倍数,method用来选择计算数据的方法,其取 值及意义为: ‘nearest’--最近邻插值法,’bilinear’--双线性插值法,’bicubic’--双三次 插值法。 我们看下面这段程序: I=imread('circuit.tif'); J=imresize(I,1.25); %将原图形放大1.25倍 imshow(I) figure,imshow(J) 也可以指定目标图像的大小,此时imresize()的调用格式为: Y=imresize(X,[320,480]) 其中[320,480]表示将图像的大小调整为320×480。
两幅图像相加,要求同样大小,同种数据类型
Z=imadd(x,y)表示图像x+y 2 imsubtract 两幅图像相减,要求同样大小,同种数据类型 Z=imsubtract(x,y) 表示图像x-y 3 immultiply Z=immultiply(x,y) 表示图像x*y 4 imdivide Z=imdivide(x,y) 表示图像x/y
3 colorbar colorbar函数用显示图像的颜色条,如:
i=imread('e:\w01.tif');
imshow(i); colorbar; 4 figure figure函数用于设定图像显示窗口,如:figure(1); /figure(2); 5 subplot 把图形窗口分成多个矩形部分,每个部分可以分别用来进行 显示。 Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建 坐标轴为当前坐标轴,用于显示图形。
相关文档
最新文档