Matlab图像数据类型unit8与double
一、数据类型
uint16 :无符号16bit整数,
unit8:无符号8bit整数,
int8:有符号8bit整数。
double:有符号64bit浮点数。(8bit即一个字节)
二、图像数据类型
im2double: 将uint8转换到double类型,把数据大小从0-255映射到0-1区间,即数组元素在0-1之间;
im2uint8(): 将double转换到unit8类型,把数据大小从0-1映射到0-255区间,即数组元素在0-255之间。
三、两种数据类型
1、为什么图片以unit8的数据类型存储?
matlab读取图片后保存的数据是uint8类型,以此方式存储的图像称作8位图像,相比较matlab默认数据类型双精度浮点double(64位,8个字节)可以节省存储空间。
2、为什么在图片计算过程中要转换为double类型?
在运算的时候将原图像的数据转换成double类型,其作用主要是考虑计算过程中的精度的问题,double的数据是有小数点的,而uint8是0-255的整数,如果直接用uint8计算,会在计算过程中产生舍入误差,这种误差在图像的数据中是比较大的。
3、两种数据类型元素之间的区别与转换
matlab默认double类型图片数据是位于0~1之间的,而uint8是位于0-255之间。
4、0~255范围的double图像会显示为白色
对于0-255之间的数据,matlab处理完图像矩阵后,用imshow()显示图像或用inwrite()写入图片。如果参数数据类型是double型,输出的图像部分区域会显示白色。如果参数数据类型是unit8,输出的图像显示范围为0-255。
这是因为imshow()显示图像时,认为double型数据位于(0,1),对于数组中大于1的元素,会将其归为1,显示为白色。
因此,当面对0~255范围的double图像数组时,matlab会将大于1的数据都转换为255,要想正常显示,要么除以255进行归一化处理,要么将其转换成uint8型图像数组显示。
Matlab图像数据类型unit8与double相关推荐
- Matlab图像数据类型unit8,double关系
matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,相比较matlab默认数据类型双精度浮点double(64位,8个字节)可以节省存储空 ...
- matlab中关于unit8和double数值类型之间的存储数据和转换问题
最近写matlab又遇到一个坑,感觉是匪夷所思的bug,简直刷新我的人生观.世界观和价值观[手动笑哭] 想解决的问题很简单,我就是想求一张图片中所有像素点的R.G.B三个颜色分量的平均值,然后我发现, ...
- Matlab图像中的unit8和double的处理问题
matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,相比较matlab默认数据类型双精度浮点double(64位,8个字节)可以节省存储空 ...
- matlab 图像基本矩阵,MATLAB基本的使用方法归纳(图像,矩阵及函数)
读取图像:用imread函数读取图像文件,文件格式可以是TIFF.JPEG.GIF.BMP.PNG等.比如 >> f = imread('chestxray.jpg'); 读进来的图像数据 ...
- MATLAB图像imshow函数显示问题、uint8与double类型转换、自定义图像显示函数
其他MATLAB数字图像处理的相关内容 MATLAB求图像的均值.中值.众数.方差.协方差.相关系数 MATLAB图像imshow函数显示问题.uint8与double类型转换.自定义图像显示函数 前 ...
- matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明
1. matlab图像保存说明 matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,好处相比较默认matlab数据类型双精度浮点doubl ...
- matlab uint8转uint16,MATLAB图像uint8,uint16,double, rgb转灰度解释
1.uint8,uint16与double 为了节省存储空间,matlab为图像提供了特殊的数据类型uint8(8位无符号整数),以此方式存储的图像称作8位图像.matlab读入图像的数据是uint8 ...
- python读取数据库数据类型_从SQL数据库读取二进制数据(图像数据类型)并将其膨胀,Matlab vs.Python...
完全编辑: 我迫切需要使用Python访问microsoftsqlserver并从中读取压缩数据.在经历了很多麻烦之后,我终于找到了一个可以工作的Matlab实现,它可以完成这个任务.不过,我需要用P ...
- MATLAB中的数据从double类型强制转化为uint8其舍入用的是四舍五入,附MATLAB基本数据类型
MATLAB中的数据从double类型强制转化为uint8其舍入用的是四舍五入, 例子代码如下: A=[0.1 0.2 0.3;0.4 0.5 0.6;0.7 0.8 0.9]; B=uint8(A) ...
最新文章
- NeurIPS2019 入选论文数据深度剖析!!!
- layer重复弹出(layui弹层同时存在多个)的解决方法
- 活动目录系列之一:基本概念
- 内存管理算法--Buddy伙伴算法
- 每天一道LeetCode-----将数值数组按一定顺序拼接,使得拼接的结果最大
- 30 ArcGIS 许可管理器常见问题(持续更新中……)
- asp.net 页面静态化
- 大院大所合作对接会7天倒计时!亮点抢先看
- 部署虚拟环境安装Linux系统(Linux就该这么学)笔记
- fmin在Matlab中,MATLAB-fminsearch函数的使用
- iOS-属性字符串添加下划线、删除线
- Android开发学习之卡片式布局的简单实现
- Linux服务器文件同步(NFS服务)
- scala学习笔记二----交互式shell编程使用
- md5校验工具hash
- 一台计算机安装了fortran语言,win10系统fortran怎么安装_win10系统fortran安装教程
- matlab已知随机样本求总体均值与方差的矩估计值(例子应用)
- TensorFlow实现多层感知机
- python3 psycopg2查询PostgreSQL返回字典
- 基于JAVA疫情小区通报系统计算机毕业设计源码+系统+数据库+lw文档+部署