1、实验报告实验人: 学号: 成绩: 实验一 Matlab 图像显示方法一、实验目的1. 了解 Matlab 的基本功能及操作方法2. 练习图像读写和显示函数的使用方法3. 掌握 Matlab 支持的五类图像的显示方法2、实验内容(在计算机上执行下面的代码)1. 图像的读写a) 图像读RGB = imread(test1.jpg);b) 图像写先从一个.mat 文件中载入一幅图像,然后利用图像写函数 imwrite,创建一个.bmp 文件,并将图像存入其中。load clownwhosimwrite(X,map,clown.bmp)c) 图像文件格式转换bitmap = imread(clown.
2、bmp,bmp);imwrite(bitmap,clown.png,png);2. 图像显示a) 二进制图像的显示BW1=zeros(20,20); %创建仅包含 0/1 的双精度图像BW1(2:2:18,2:2:18)=1;imshow(BW1,notruesize);whosBW2=uint8(BW1);figure,imshow(BW2,notruesize)BW3=BW2=0; %逻辑标志置为 onfigure,imshow(BW3,notruesize)whosBW=imread(circles.tif);imshow(BW);figure,imshow(BW);figure,ims
3、how(BW,1 0 0;0 0 1);b) 灰度图像的显示I=imread(testpat1.tif);J=filter2(1 2;-1 -2,I);imshow(I)figure,imshow(J,)c) 索引图像的显示load clown %装载一幅图像imwrite(X,map,clown.bmp); %保存为 bmp 文件imshow(X)imshow(X,map)d) RGB 图像的显示I=imread(flowers.tif);imshow(I)RGB=imread(ngc6543a.jpg);figure,imshow(RGB)imshow(I(:,:,3) % 显示第 3 个
4、颜色分量e) 多帧图像的显示mri=uint8(zeros(128,128,1,27); % 27 帧文件 mri.tif 初始化for frame=1:27mri(:,:,:,frame),map=imread(mri.tif,frame); % 读入每一帧endimshow(mri(:,:,:,3),map); % 显示第 3 帧figure,imshow(mri(:,:,:,6),map); % 显示第 6 帧figure,imshow(mri(:,:,:,10),map); % 显示第 10 帧figure,imshow(mri(:,:,:,20),map); % 显示第 20 帧f)
5、 显示多幅图像X1,map1=imread(forest.tif);X2,map2=imread(trees.tif);subplot(1,2,1),imshow(X1,map1)subplot(1,2,2),imshow(X2,map2)subplot(1,2,1),subimage(X1,map1)subplot(1,2,2),subimage(X2,map2)三、1、写出 2A)红色部分代码的注释(写在红色代码后即可)2、请找到 Matlab 中 RGB 图像转换成 hsv 图像的命令,并写出算法逻辑图。四、思考题:1. 图像显示时,若不带参数notruesize ,显示效果如何?2. 如何显示 RGB 图像的某一个颜色分量?3. 如何显示多帧图像的所有帧?如何根据多帧图像创建电影片段?