【MATLAB Image Processing Toolbox 入门教程八】“导入、导出和转换”之“图像类型转换Ⅲ——在不同图像数据类型之间转换”

【MATLAB Image Processing Toolbox 入门教程八】


【MATLAB Image Processing Toolbox 入门教程六】“导入、导出和转换”之“图像类型转换Ⅰ——在不同图像类型之间转换”
中,我们讲解了不同图像类型之间转换的方法,在本节中,我们将对存储图像信息的数据的类型转换进行讲解。
我们知道,数据类型一般分为整型、浮点型,整型又分为有符号性和无符号型,浮点型又分为双精度和单精度。在MATLAB中,保存图像信息的数据是以矩阵的形式排列,矩阵中的数据也分为这样几种类型。


1 im2double函数

此函数的作用是将图像数据转换为双精度值,用法很简单:
I1=im2double(I):I是输入图像,可以为灰度图像、彩色图像、二值图像,I1是输出图像。
我们举个简单的例子演示一下函数的用法:
首先载入一个图像:

I=imread('peppers.png');
whos I; %查看图像的信息

在这里插入图片描述
可以看出,保存此图像的数据类型为8位无符号整数。接下来使用im2double函数将其转为双精度类型:

I1=im2double(I);
whos I1;

在这里插入图片描述
可以看出,I1的数据类型转化为double。

2 im2single函数

此函数的作用是将图像数据类型转化为单精度数,用法很简单:
I1=im2single(I):I是输入图像,可以为灰度图像、彩色图像、二值图像,I1是输出图像。如果输入图像是二值图像,即数据类型是逻辑类型,那么im2single函数会将真值变为65535.

接下来举个例子演示一下函数的用法,在此例子中,我们将一个8位无符号型整数的数组转化为单精度类型。
首先创建数组:

I=reshape(uint8(linspace(1,255,25)),[5 5]); %linspace的作用是生成线性的间距向量,linspace(x,y,n)的作用就是产生n个点,点的间距为(y-x)/(n-1)

在这里插入图片描述
接着,将其转为单精度类型:

I1=im2double(I)

在这里插入图片描述

3 im2int16函数

此函数的作用是将图像数据类型转化为16位有符号整数型,用法是:
I1=im2int16(I):I是输入图像,可以为灰度图像、彩色图像、二值图像,I1是输出图像。如果输入图像是二值图像,即数据类型是逻辑类型,那么im2int16函数会将真值变为32767,假值变为-32768.

举个简单的例子演示一下函数用法:
首先还是创建一个数值矩阵:

I = reshape(linspace(0,1,20),[5 4])

在这里插入图片描述
接着使用im2int16函数将其转为整数类型:

I2 = im2int16(I)

在这里插入图片描述
显然,im2int16函数是将之前的数值矩阵映射到[-32768,32767]之间,然后给对应的元素赋一个新值。

4 im2uint16函数

此函数的作用是将图像数据类型转化为16位无符号型整数,用法是:
I1=im2uint16(I):I是输入图像,可以为灰度图像、彩色图像、二值图像,I1是输出图像。如果输入图像是二值图像,即数据类型是逻辑类型,那么im2uint16函数会将真值变为65535,假值变为0.

使用和第三节中I一样的矩阵举个例子:

I = reshape(linspace(0,1,20),[5 4])

在这里插入图片描述
接着使用im2int16函数将其转为整数类型:

I2 = im2uint16(I)

在这里插入图片描述
显然,im2uint16函数是将之前的数值矩阵映射到[0,65535]之间,然后给对应的元素赋一个新值。同样的,im2uint8函数是将之前的数值矩阵映射到[0,255]之间,然后给对应的元素赋一个新值,这里就不再赘述。

至此,“导入、导出和转换”之图像类型转换已经讲解完毕,接下来,我们要讲解“导入、导出和转换”之图像序列和批处理。下次见:)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值