1.二维图形绘制步骤
案例: 用图形表示连续调制波形:y=sin(t)sin(9t)
t1=(0:11)/11*pi; % 自变量取 12 个点
y1=sin(t1).*sin(9*t1); % 计算函数值
t2=(0:100)/100*pi; % 自变量取 101 个点
y2=sin(t2).*sin(9*t2);
subplot(2,2,1); % 在子图 1 上画图
plot(t1,y1,'r.'); % 用红色的点显示
axis([0,pi,-1,1]); % 定义坐标大小
title('子图 (1)'); % 显示子图标题
% 子图 2-用红色的点显示
subplot(2,2,2);plot(t2,y2,'r.');
axis([0,pi,-1,1]);title('子图 (2)')
% 子图 3-用直线连接数据点和红色的点显示
subplot(2,2,3);plot(t1,y1,t1,y1,'r.')
axis([0,pi,-1,1]);title('子图(3)')
% 子图 4-用直线连接数据点
subplot(2,2,4);plot(t2,y2);
axis([0,pi,-1,1]);title('子图(4)')
2.图像文件格式
-
调色板
调色板是包含不同颜色的颜色表,每种颜色以红、绿、蓝三种颜色的组合来表示,图像的每一个像素对应一个数字,而该数字对应调色板中的一种颜色。
调色板的单元个数是与图像的颜色数相对应的,256 色图像的调色板就有 256 个单元。
真彩图像的每个像素直接用 R、G、B 三个字节来表示颜色,因此不需要调色板。 -
图像类型
3.读取图像
imread
可以从任何 Matlab 支持的图像文件格式中,以任意位深度读取一幅图像。
格式:[X,MAP]=imread(FILENAME,'FMT')
FILENAME
: 需要读入的图像文件名称
FMT
:图像格式。
4.图像显示
Matlab 的图像显示函数主要有 imshow
、colorbar
和 subimage
三个。
imshow(I,n)
显示灰度级为 n 的图像,n 缺省为 256。
I=imread('图片地址');
imshow(I)
colorbar
-
imshow(I,[low,high])
以灰度范围[low,high]显示图像,如果不知道灰度范围,可以
用 imshow(I,[])显示。 -
imshow(BW)
显示二值图像。
bw1=zeros(100,100);
bw1(2:2:98,2:2:98)=1;
imshow(bw1);
whos bw1
BW=imread('图片地址');
imshow(BW);
imshow(X,MAP)
显示索引图像,X 为数据图像矩阵,MAP 为调色板。
%显示索引图像
[X,MAP]=imread('图片地址');
imshow(X,MAP);
colorbar
%显示伪彩色图像
I=imread('图片地址');
imshow(I,jet(256))
colorbar
imshow(RGB)
显示真彩色图像。
rgb=imread('图片地址');
imshow(rgb);
imshow filename
直接显示图像。
imshow('图片地址');
I=getimage;
whos I
subimage
多图显示多个调色板的图像。
load trees;
[x2,map2]=imread('图片地址');
subplot(2,1,1),subimage(X,map);colorbar
subplot(2,1,2),subimage(x2,map2);colorbar
%不用专用函数显示多图
load trees;
[x2,map2]=imread('图片地址');
subplot(2,1,1),imshow(x2,map2);colorbar
subplot(2,1,2),imshow(X,map);colorbar
5.保存图像
imwrite
imwrite(I,'文件名','文件格式')
保存无调色板的图像imwrite(X,MAP,'文件名','文件格式')
保存有调色板的图像imwrite(...,'文件名')
文件名中含格式imwrite(...,'参数','值')
指定保存参数
文件格式:bmp、jpg、pcx、tif。
%将 tif 图像保存为 jpg 图像
[x,map]=imread('pic.tif');
imwrite(x,map,'pic.jpg','JPG','Quality',75)