图像类型的转换

1 RGB图像转换为灰度图像

在matlab中,将RGB图像装换为灰度图像,需要调用函数rgb2gray(),

其调用格式如下:X=rgb2gray(I),其中I表示RGB图像,X表示转换后的灰度图像。


2 RGB图像转换为索引图像

在matlab中,可以直接调用rgb2ind()函数将真彩色图像转换为索引图像。最新的matlab版本(如matlabR2010a)中有均匀量化法、最小方差量化法和颜色表近似法。除此之外,在rgb2ind()还可以宿儒参数项dither_option,其表示是否抖动。


3 灰度图像转换为索引图像

在matlab中,灰度图像是一个二维数组,索引图像包括一个二维数组矩阵和一个M*3的颜色映射表。可以直接调用函数gray2ind()来实现图像转换。

其调用格式如下:

[X,map] = gray2ind(I,n)。其中,I指的是原灰度图像,n为灰度级数,默认为64,另外map中对应的颜色值为颜色图gray(n)中的颜色值;

[X,map] = gray2ind(BW,n)。其中,I指的是二值图像,n为灰度级数,默认值为2.

其实,二值图像也是灰度图像,不过灰度级为2而已。


4 索引图像转换为灰度图像

直接调用函数ind2gray(),调用格式如下:I=ind2gray(X,map)。该函数去除了索引图像中的颜色、饱和度信息,保留了图像的亮度信息。其中,[X,map]对应索引图像,I为灰度图像。输入图像的数据类型为double型或uint8型,但输出是double型。


5 索引图像转换为RGB图像

利用ind2rgb()函数,调用格式如下:RGB=ind2rgb(X,map)。转换过程中形成一个三维数组,然后将索引图像的颜色映射表的颜色值赋值给三维数组。输入图像数据类型可以是double、uint8、uint16,输出为double型。


6 二值图像的转换

二值图像的数据类型为logical型,‘0’表示黑色、‘1’表示白色,那么将其他图像转换为二值图像首先需要规定一个规则:将数组中的什么数据为‘1’,什么数据变为’0‘。常用的方法就是“阈值法”,规定一个阈值,小于该阈值取为’0‘、大于则取为’1‘。实现该功能的函数为im2bw(),其调用格式根据转换的原图像不同而不同。如果输入不是灰度图像,要先将其转换为灰度图像,然后通过阈值法转换为二值图像。


7 数值矩阵转换为灰度图像

利用mat2gray()函数,调用格式如下:I=mat2gray(X,[xmin,xmax])。该函数是按照指定的取指区间[xmin,xmax],将数据矩阵X转换为灰度图像I,xmin对应灰度值0,即黑色,xmax对应灰度值1,即白色。X中小于xmin的值取为0,大于xmax的值取1,缺省情况下,将X中最小值设为xmin,最大值为xmax。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值