mdsk.net
当前位置:首页 >> mAtlAB中怎样将uint8转化成DouBlE型 >>

mAtlAB中怎样将uint8转化成DouBlE型

在矩阵中使用的数据类型是double。因此可以通过语句I2=im2double(I1) ;把图像数组I1转换成double精度类型;如果不转换,在对uint8进行加减时会产生溢出,可能提示的错误为:Function '*' is not defined for values of class 'uint8' 再给你几条...

使用double命令 比如: a=int8(124);a2=double(a);whos该段代码先创建了一个uint8的变量a 再用double命令将a变为double变量并赋值给了a2 通过whos显示类型: Name Size Bytes Class Attributes a 1x1 1 int8 a2 1x1 8 double

主要是为了保持运算精度, 一般来说用double 来完成复杂的运算。而在存储的时候的一般存储为uint8类型,节省存储空间。

直接 int8(A) 强制转换,注意数据范围就行了。因为是直接截尾的。

最简单的方法是把I改为double型后做+128计算再转为uint8。 即 I=double(I)+128; I=uint8(I); 当然你也可逐点遍历I,以求得新的一个unit8矩阵J,通过判断正负给该点J(i,j)赋值: 若I(i,j)>=0时:J(i,j)=128+uint8(I(i,j)); 若I(i,j)

>> A = 255*rand(2,3) A = 242.2830 154.7449 227.2812 58.9403 123.9255 194.3347 >> B = int8(A) B = 127 127 127 59 124 127

使用double命令 比如: a=int8(124);a2=double(a);whos该段代码先创建了一个uint8的变量a 再用double命令将a变为double变量并赋值给了a2 通过whos显示类型: Name Size Bytes Class Attributes a 1x1 1 int8 a2 1x1 8 double

据我所知,好像没有专门的模块实现这个功能。 但可以编写函数来实现这个功能,核心是使用typecast函数在不改变底层数据的情况下实现类型转换。看一下下面的代码,有助于你了解这个函数是怎样工作的: >> format hex>> single(123.456)ans = 42f6...

1、整型:(int8;uint8;int16;uint16;int32;uint32;int64;uint64)通过intmax(class)和intmin(class) 函数返回该类整型的最大值和最小值,例如intmax(‘int8’)=127; 2、浮点:(single;double) 浮点数:REALMAX('double')和REALMAX('si...

为了节省存储空间,matlab为图像提供了特殊的数据类型uint8(8位无符号整数),以此方式存储的图像称作8位图像。 imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中。 因此,matlab读入图像的数据是uint8,而matlab中数值一般...

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com