做交友信息网站可行么,购买完域名后怎么做网站,seo优化排名教程,网站建设技术服务费怎么入账目录 一、数据类型1、整型2、浮点型3、逻辑型4、元胞数组5、结构体 二、数据类型转换三、图像数据类型转换四、参考链接 一、数据类型
1、整型 int和unit都是整型#xff0c;只是前一个有符号#xff0c;后一个没有符号#xff0c;比如在16位系统中#xff0c;int范围是-3… 目录 一、数据类型1、整型2、浮点型3、逻辑型4、元胞数组5、结构体 二、数据类型转换三、图像数据类型转换四、参考链接 一、数据类型
1、整型 int和unit都是整型只是前一个有符号后一个没有符号比如在16位系统中int范围是-32768-32767unit范围是0-65535。
2、浮点型 single和double都是浮点型单精度、双精度只是single最多可以显示小数点后7位double最多可以显示小数点后14位single变量存储大小位32位4个字节double变量存储大小为64位8个字节。
3、逻辑型 logical是逻辑数据类型有0和1两种。
4、元胞数组 cell array元胞数组类型数组元素可以是不同的数据类型。
5、结构体 structure为结构体类型与C语言的结构体类似例创建一个station结构体有两种方式一是通过‘结构体名称.字段名称’进行创建和赋值ctation.name‘s’station.x100station.y120二是通过struct创建结构体stationstruct(name,{s},x,{100},y,{120})。 char为字符串类型例如‘Helloworld’。
二、数据类型转换
浮点数128.4转换为整数
a int8(128.4)127高位溢出因为128.4超出了int8的范围-128~127需要用
a int16(128.4)128a round(128.4)128round()函数为取整函数小数部分小于0.5则舍去即四舍五入。
a fix(128.4)128
a fix(-128.6)-128fix()函数为向0取整函数。
三、图像数据类型转换
1、uint8转化为double用来方便图像的运算double函数只是将读入图像的uint8数据转换为double类型一般不使用。常用的是im2double函数将uint8图像转为double类型范围为0-1如果是255的图像那么255转为10还是0中间的做相应改变。
matlab中读入图像的数据类型是uint8而在矩阵中使用的数据类型是double。 I2im2double(I1) :把图像数组I1转换成double精度类型如果不转换在对uint8进行加减时会产生溢出。默认情况下matlab将图像中的数据存储为double型即64位浮点数。 im2double():将图象数组转换成double精度类型。 im2single(): 将图像转化为single类型。 im2uint8():将图象数组转换成unit8类型。 im2uint16():将图象数组转换成unit16类型。
2、uint8和im2uint8的区别 在数据类型转换时候uint8和im2uint8的区别uint8的操作仅仅是将一个double类型的小数点后面的部分去掉但是im2uint8是将输入中所有小于0的数设置为0而将输入中所有大于1的数值设置为255再将所有其他值乘以255。 图像数据在计算前需要转换为double以保证精度很多矩阵数据也都是double的要想显示必须先转换为图像的标准数据格式。 如果转换前的数据符合图像数据标准(比如是double则要位于01之间)那么可以直接使用im2uint8。如果转换前的数据分布不合规律则使用uint8将其自动切割至0255(超过255的按255)因此最好使用mat2gray将一个矩阵转化为灰度图像的数据格式(double)。
3、double类型图像的显示 图像数据在进行计算前要转化为double类型的这样可以保证图像数据运算的精度。很多矩阵的很多矩阵数据也都是double的要想显示它必须先转换为图像的标准数据格式。 如果直接运行imshow(I)显示的是一个白色的图像。这是因为imshow()显示图像时对double型是认为在0-1范围内即大于1时都是显示为白色而imshow显示uint8型时是0~255范围。经过运算后范围在0-255之间的double型数据就被不正常得显示为白色图像了。
具体方法有 imshow(I/256); 将图像矩阵转化到0-1之间 imshow(I,[]); 自动调整数据的范围以便于显示 (注意这里必须是灰度图负责不行) imshow(uint8(I)); imshow(mat2gray(I));
上面的mat2gray是将最终获得的矩阵转化为灰度图像。常用的为
A im2uint8(mat2gray(result))这样就将result矩阵转化为uint8类型的图像。
四、参考链接
matlab中各种数据类型及转换数据类型转换matlab,MATLAB常用数据类型的转换