uint8,im2uint8,double,im2double的区别

这四个命令,对应两种“数据格式”:分别是uint8(范围是0~255)还有 double.

四个命令的区别:
          1.    double(a)是将a转换成double型数据(注意:只是改变数据格式,并不进行“归一化”)
          2.    im2double(a)是将a转换成double型数据,并且进行“归一化”!
                                注意:这个指令相当于:
                                                     double(a)/255;
          3.     同理,uint8(a)是将a转换成uint8型的数据(注意:只是改变数据格式,并不进行“反归一化”)
          4.     同理,im2uint(a)是将a转换成uint8型数据,并且进行“反归一化”!
                            

注意:这个指令相当于:
                                                     uint8(a)*255;%大于255的算作255
                 %注意,如果此时a是double型的数据,并且都是大于1的,那么进行im2double(a)指令以后,多有数据都是255。

提示:如果上面写的看明白了,下面的例子就不必看了。


示例一:
           前提:a是uint8型
a =


   10   89
  155  208
那么,>> im2double(a)


ans =


    0.0392    0.3490
    0.6078    0.8157
示例二:
          前提:a还是uint8型
>> a1=double(a)a1 =


   10   89
  155  208
到现在为止,a1已经是double型数据(但是并没有“归一化”)那么,
>> im2double(a1)


ans =10    89
   155   208
注意:我们发现这里的结果并不是0到1的小数!那是由于a1已经是double型!那么怎样得到示例一的结果呢?猜对了!看下面:
>> a1/255


ans =


    0.0392    0.3490
    0.6078    0.8157


同样的情况会发生在uint8和im2uint8这两个命令中,这里就不一一举例了,自己动手体会一下。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值