MATLAB im2double、double、mat2gray、im2uint8和uint8的区别及使用

uint8与byte可以说是一样的,因为文档中有这样的定义:

The Go Programming Language Specification
Numeric types
uint8 the set of all unsigned 8-bit integers (0 to 255)
byte alias for uint8

也就是说,我们在需要将这两种类型转换为string的时候都是可以直接使用string()来进行的。

而int8的取值范围为-128~127,所以int8不能直接与uint8、byte进行直接转换。

im2double 、mat2gray与double

double 就是简单地把一个变量类型转换成double类型,数值大小不变
mat2gray是把一个double类的数组转换成取值范围为[0,1]的归一化 double类数组。
函数im2double将输入转换成double类型。如果输入是 uint8 unit16或者是二值的logical类型,则函数im2double 将其值归一化到0~1之间
注:
如果输入为double类型,输出还是double类型,并不进行归一化;即先用double转换,再用im2double 转换,不会对double处理之后的图像进行归一化操作;mat2gray则会将像素值归一化处理。

im2uint8和uint8

im2uint8用于将归一化到0~1之间(im2double 处理后的图像)转换为uint8类型
uint8就是简单地把一个变量类型转换成uint8类型,数值大小不变
注:
如果对double处理之后的图像使用uint8()操作,返回值与原本的图像相同,不会出错。即im2uint8转换对应im2double 转换,数据有归一化过程;uint8对应double转换,转换过程中数值不发生变化。如果不能一一对应,则会出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hali_Botebie

文中错误请不吝指正!!!!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值