1 Matlab图像类型及其存储方式
1.1 亮度图像
即灰度图像,每个像素是0~1(双精度)或0~255。图像为二维矩阵mn,如200200表示200行200列的矩阵。
1.2 RGB图像
图像有红绿蓝三种颜色分量,每个像素都是三种颜色地叠加。图像为三维矩阵mn3,如图像中位于2行3列的像素的RGB值为(2,3,1:3),其中红色分量为(2,3,1),绿色分量为(2,3,2),蓝色分量为(2,3,3)。
1.3 索引图像
索引图像往往包含两个数组:一个图像数据矩阵(二维),一个颜色索引表(m*3的二维矩阵),其中m行代表m种颜色,当图像采用双精度类型的数据存储时,每个像素的取值为1~m;当图像采用8位无符号整数的数据存储时,每个像素的取值为0~m-1。
1.4 二值图像
每个像素只有两种取值:0或1。Matlab中使用unit8型的逻辑数组存储二值图像。
1.5 多帧图像
简单的说,就是把多张图像串在了一起,在原来单张图像的基础上增加一个维度,可用cat函数拼接。
2 Matlab的图像转换
2.1 图像类型格式转换
gray2ind:灰度图转索引图,uint8类型存储,当大于256色时,uint16类型存储。
ind2gray:索引图转灰度图,原数据类型存储。
ind2rgb:索引图转RGB图,double类型存储。
mat2gray:矩阵扩展为灰度图,double类型存储。
rgb2gray:RGB转灰度图,原数据类型存储。
rgb2ind:RGB转索引图,uint8类型存储,当大于256色时,uint16类型存储。
2.2 图像数据类型转换
im2uint8:图像转uint8类型。
im2uint16:图像转uint16类型。
im2double:图像转double类型。
3 图像的基本操作
imread函数:用于读取图像,格式为A = imread(文件名,格式名),读取索引表时,格式为[X,MAP] = imread(文件名,格式名)。
imwrite函数:用于保存图像,格式为imwrite(矩阵A,文件名,格式名),保存索引图时,在A后加颜色索引表参数MAP。
imfinfo函数:用于查看图像的属性信息,格式为imfinfo(文件名,格式名)。
imshow函数:用于显示图像,格式为imshow(文件名),imshow(矩阵A,MAP),也可在后面加参数。在一个窗口上显示多张图像,使用subplot()函数设置位置。