[数图]实验一 图像的显示与格式变换

这篇博客介绍了如何在MATLAB中进行图像显示和格式变换,包括从硬盘加载图像、显示图像、添加亮度条、获取图像数据、制作动画以及在圆柱体表面显示图像。作者在编程过程中遇到了由于imagesc导致的伪彩色图像问题,通过使用colormap(gray)解决了这个问题。博客引用了多个参考资料,帮助读者理解相关概念和解决类似问题。
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)

[3] 数字图像处理Matlab-图像的显示与格式变换(附代码)_豆干花生|公众号DataFortune-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值