图形在计算科学中扮演重要角色,毕竟,人人都和赌毒不共戴天。
在Matlab中,图形不过是一个平凡无奇的矩阵。大部分时候,图形都描述为
M
×
N
×
3
M \times N \times 3
M×N×3的矩阵,其中
M
M
M和
N
N
N分别是图形的高和宽,3代表RGB三个通道。这种表示方法在Matlab中被称为uint8
类型的图形。
% 生成一个随机图形
img = randi([0, 255], 100, 100, 3, 'uint8');
imshow(img);
% 保存图形为PNG格式
exportgraphics(gca, '../matlab-img/rand-img.png');
这里,我们看到每一个位置(也就是像素点)对应一个长度为3的向量,这三个数字代表了这个像素点的颜色。
Matlab提供了一堆函数来处理这样一个特殊的矩阵。
- imread:从文件中读取图形
- colormap:设置图形的颜色映射,这个函数确定Matlab如何将图形的数值映射到颜色
- imwrite:将图形保存到文件
- imshow:显示图形,通过
gcf
和gca
获取当前的图形和坐标轴 - imagesc: 显示图形,但是不会自动调整坐标轴
- imfinfo: 获取图形的信息