3 MATLAB图像处理基础
3.1 MATLAB图像处理工具箱
3.2 图像类型的转换
可以直接调用相关的函数:
X=rgb2gray(I):该函数将RGB图像I转换为灰度图像X;
rgb2ind():将真彩色图像(RGB)转换为索引图像,其中还可以输入参数项dither_option,表示是否使用抖动。早期的MATLAB版本中大致有四种转换方法:直接法、均匀量化法、最小方差量化法和颜色表近似法。
在MATLAB中,灰度图像是一个二维数组矩阵,而索引图象不仅包括一个二维的数组矩阵,还包括一个M×3的颜色映射表。所以要想将灰度图像转换成为索引图像,必须生成对应的颜色映射表。在MATLAB中可以直接调用函数gray2ind()来实现图像转换:
[X,map]=gray2ind(I,n):将灰度图像I转换为索引图像,其中I指的是原灰度图像,n是灰度级数,默认是64,[X,map]对应转换后的索引图像,map中对应的颜色值为颜色图gray(n)中的颜色值。
[X,map]=gray2ind(BW,n):该函数是将二值图像BW转换为索引图像。其中BW指的是二值图像,n是灰度级数,默认值为2,[X,map]对应转换后的索引图像,map中对应的颜色值为颜色图gray(n)中的颜色值。二值图像实际上也是灰度图像,只是其灰度级为2而已。
I=ind2gray(X,map):将具有颜色映射表map的索引图像转换为灰度图像,去除了索引图像中的颜色、饱和度信息,保留了图像的亮度信息。其中[X,map]对应索引图象,I表示转换后的灰度图像。输入图像的数据类型可以是double型或uint8型,但输出为double型。
RGB=ind2rgb(X,map):将索引图像转换为RGB图像,其中[X,map]指向索引图像,RGB指向转换后的真彩色图像。转换过程中形成一个三维数组,然后将索引图像的颜色映射表中的颜色值赋给三维数组。输入图像的数据类型可以是double型、uint8型或uint16型,输出为double型。
在MATLAB中,二值图像中的数据类型实际上是逻辑类型,‘0’代表黑色,‘1’代表白色,所以二值图像是一幅黑白图像。常用阈值法实现图像到二值图像的转换。MATLAB中使用im2bw()来实现。如果输入不是灰度图像,先将其转换为灰度图像,然后通过阈值法转换为二值图像。
在MATLAB中,一个数据矩阵就相当于一幅数字图像,只是在数字图像中对应的数组元素必须在一定的取值范围。因此,只要将对应数据矩阵中的元素按一定规律进行转换,就可以将矩阵转换为图像。
I=mat2gray(X,[xmin,xmax]):该函数是按照指定的取值区间