matlab中怎样将uint8转化成double型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中怎样将uint8转化成double型相关的知识,希望对你有一定的参考价值。
1、首先,可以在命令行窗口直接输入命令,回车即可看到matlab软件中的基本命令语句的信息。
2、点击其中一个语句,就可以看到命令行窗口。
3、假如知道大概的所在的范围,比如某个工具箱,输入help toolboxname,就可以得到工具箱的一些信息。
4、关于算术类型有很多判定函数。isinteger判定一个数组是不是整型,isfloat判定是不是浮点型(single和double都是浮点型)。
5、flintmax表示用浮点数所能表示的最大精确整数。可以带有参数'single'或者'double',就完成了。
参考技术A1、打开matlab,在命令行窗口中输入a=1.2345;round(a),按回车键,得到结果1,已经将浮点型数据a四舍五入成整型1。
2、输入a=1.6345;round(a),按回车键,得到结果2。
3、在命令行窗口中输入a=1.2345;ceil(a),按回车键,得到结果2,已经将浮点型数据a向上取整成2。
4、输入a=1.6345;ceil(a),按回车键,可以看到同样结果为2,ceil函数向上取整函数。
5、在命令行窗口中输入floor(a),按回车键得到结果1,floor函数向下取整。
6、将浮点型数据转成整型的函数,都可以用于矩阵,输入 a=[1.23 3.56 7.98];floor(a),矩阵中每个元素都向下取整。
参考技术B MATLAB中读入图像的数据类型是uint8,而在矩阵中使用的数据类型是double因此I2=im2double(I1) :把图像数组I1转换成double精度类型;
如果不转换,在对uint8进行加减时会产生溢出.
图像数据类型转换函数:
默认情况下,matlab将图象中的数据存储为double型,即64位浮点数;
matlab还支持无符号整型(uint8和uint16);
uint型的优势在于节省空间,涉及运算时要转换成double型。
im2double():将图象数组转换成double精度类型
im2uint8():将图象数组转换成unit8类型
im2uint16():将图象数组转换成unit16类型. 参考技术C
使用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
参考技术D clear;clc;close all;a=randint(5,10,[1 300])%产生5行10列1-300的整数
b=uint8(a)%将a其转化成uint8
d=double(b)%将b其转化成double
%虽说b,和d显示的结果是一样的,
%但是你可以做下面的测试说明其实他们是不同的
b(1,1)=500
d(1,1)=500
以上是关于matlab中怎样将uint8转化成double型的主要内容,如果未能解决你的问题,请参考以下文章
matlab如何将‘0011001011001110....’字符串型的数据转化为16位的0011001011001110.....uint8型数据