1.实验目的
(
1
)熟悉常用的图像文件格式与格式转换;
(2
)熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色);
(3
)熟悉图像矩阵的格式转换。
2.实验内容
练习图像读写命令
imread
和
imwrite
并进行图像文件格式间的转
换。
熟悉下列模块函数:
Image file I/O.
imread - Read image file.
imwrite - Write image file.
Image display.
colorbar - Display colorbar.
getimage - Get image data from axes.
image - Create and display image object.
imagesc - Scale data and display as image.
immovie - Make movie from multiframe indexed image.
imshow - Display image.
subimage - Display multiple images in single figure.
truesize - Adjust display size of image.
warp - Display image as texture-mapped surface.
山东大学信息科学与工程学院
YANG MINGQIANG Shandong University
7
zoom - Zoom in and out of image or 2-D plot.
3.实验步骤
(
1
)从硬盘加载图像
cameraman.tif (
使用函数
imread)
。
(2
)在窗口显示图像
(
使用函数
image
或
imshow)
。
(3
)在图像右侧加一个亮度条
(
使用函数
colorbar)
。
(4
)从当前图形窗口(坐标轴)获得图像数据(使用函数
getimage
)。
(5
)显示图像从
64
到
128
的灰度级
(
使用函数
imagesc)
。
(6
) 将一个
4
-
D
图像制成动画(加载
mri
,用
immovie
制作动画,用
函数
movie
播放动画)。
(7
)把图像显示在一个主面上
(
使用函数
warp)
。
4. 实验代码:
clear all;clc;
f=imread('C:\PICTURE_YUWEI\camera.tif'); %1. 从硬盘加载图像cameraman.tif (使用函数imread)。
imshow(f);%2. 在窗口显示图像 (使用函数 image 或 imshow)。
colorbar;%3. 在图像右侧加一个亮度条 (使用函数 colorbar)。
f1=getimage;%4. 从当前图形窗口(坐标轴)获得图像数据(使用函数 getimage)
figure(1);%展示原图和灰度范围为[64,128]的图像
subplot(1,2,1);
imshow(f);
colorbar;
title('原图');
subplot(1,2,2);
clims=[64 128];%5. 显示图像从64到128的灰度级(使用函数imagesc)
imagesc(f,clims)
colormap(gray);%将伪彩色图像变为灰色
colorbar;
title('灰度范围为[64,128]的图像');
load mri.mat;%6. 将一个4-D图像制成动画(加载mri,用immovie 制作动画,用函数movie播放动画)。
mov=immovie(D,map);
[x,y,z]=cylinder(2,100);%生成一个半径为2的圆柱体,沿圆周有100个等距均匀分布的点
figure(2);%7. 把图像显示在一个柱面上(使用函数warp)。
f2=[f,f];
warp(x,y,-z,f2); %将图像f显示在圆柱体的表面
5. 实验结果

6. Conclusions::tell me what you learned.
- 学会了从硬盘加载图像、在窗口显示图像、在图像右侧加亮度条、获取图像数据、展示原图和一定灰度值范围的图像、将图像变为动画、构建圆柱体并在表面显示图像的matlab函数语句。
- 在编程中遇到的问题:

原来生成的图像如上图所示,经百度查明原因:imagesc是进行线性映射,是对色图进行映射,所以生成的是伪彩色图像。可以使用colormap(gray);语句将图像变为灰色:

参考资料:
[1]matlab 怎么将二维数组变为灰度图像。imagesc的出来的好像变差太大,而且是彩色的_百度知道 (baidu.com)
[2] subplot imagesc同时显示灰度图和伪彩色图 – MATLAB中文论坛 (ilovematlab.cn)
这篇博客介绍了如何在MATLAB中进行图像显示和格式变换,包括从硬盘加载图像、显示图像、添加亮度条、获取图像数据、制作动画以及在圆柱体表面显示图像。作者在编程过程中遇到了由于imagesc导致的伪彩色图像问题,通过使用colormap(gray)解决了这个问题。博客引用了多个参考资料,帮助读者理解相关概念和解决类似问题。
3381

被折叠的 条评论
为什么被折叠?



