一、数据类型

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相关推荐

  1. Matlab图像数据类型unit8,double关系

    matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,相比较matlab默认数据类型双精度浮点double(64位,8个字节)可以节省存储空 ...

  2. matlab中关于unit8和double数值类型之间的存储数据和转换问题

    最近写matlab又遇到一个坑,感觉是匪夷所思的bug,简直刷新我的人生观.世界观和价值观[手动笑哭] 想解决的问题很简单,我就是想求一张图片中所有像素点的R.G.B三个颜色分量的平均值,然后我发现, ...

  3. Matlab图像中的unit8和double的处理问题

    matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,相比较matlab默认数据类型双精度浮点double(64位,8个字节)可以节省存储空 ...

  4. matlab 图像基本矩阵,MATLAB基本的使用方法归纳(图像,矩阵及函数)

    读取图像:用imread函数读取图像文件,文件格式可以是TIFF.JPEG.GIF.BMP.PNG等.比如 >> f = imread('chestxray.jpg'); 读进来的图像数据 ...

  5. MATLAB图像imshow函数显示问题、uint8与double类型转换、自定义图像显示函数

    其他MATLAB数字图像处理的相关内容 MATLAB求图像的均值.中值.众数.方差.协方差.相关系数 MATLAB图像imshow函数显示问题.uint8与double类型转换.自定义图像显示函数 前 ...

  6. matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明

    1. matlab图像保存说明 matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,好处相比较默认matlab数据类型双精度浮点doubl ...

  7. matlab uint8转uint16,MATLAB图像uint8,uint16,double, rgb转灰度解释

    1.uint8,uint16与double 为了节省存储空间,matlab为图像提供了特殊的数据类型uint8(8位无符号整数),以此方式存储的图像称作8位图像.matlab读入图像的数据是uint8 ...

  8. python读取数据库数据类型_从SQL数据库读取二进制数据(图像数据类型)并将其膨胀,Matlab vs.Python...

    完全编辑: 我迫切需要使用Python访问microsoftsqlserver并从中读取压缩数据.在经历了很多麻烦之后,我终于找到了一个可以工作的Matlab实现,它可以完成这个任务.不过,我需要用P ...

  9. 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) ...

最新文章

  1. NeurIPS2019 入选论文数据深度剖析!!!
  2. layer重复弹出(layui弹层同时存在多个)的解决方法
  3. 活动目录系列之一:基本概念
  4. 内存管理算法--Buddy伙伴算法
  5. 每天一道LeetCode-----将数值数组按一定顺序拼接,使得拼接的结果最大
  6. 30 ArcGIS 许可管理器常见问题(持续更新中……)
  7. asp.net 页面静态化
  8. 大院大所合作对接会7天倒计时!亮点抢先看
  9. 部署虚拟环境安装Linux系统(Linux就该这么学)笔记
  10. fmin在Matlab中,MATLAB-fminsearch函数的使用
  11. iOS-属性字符串添加下划线、删除线
  12. Android开发学习之卡片式布局的简单实现
  13. Linux服务器文件同步(NFS服务)
  14. scala学习笔记二----交互式shell编程使用
  15. md5校验工具hash
  16. 一台计算机安装了fortran语言,win10系统fortran怎么安装_win10系统fortran安装教程
  17. matlab已知随机样本求总体均值与方差的矩估计值(例子应用)
  18. TensorFlow实现多层感知机
  19. python3 psycopg2查询PostgreSQL返回字典
  20. 基于JAVA疫情小区通报系统计算机毕业设计源码+系统+数据库+lw文档+部署

热门文章

  1. 改变可以改变的事,接受不能改变的事--达达的马蹄 kanninstar
  2. LaTex中 多行公式如何换页?
  3. 微信开发php代码_微信开发代码
  4. 解锁新姿势,揭秘如何通过公众号迁移方式给自己的爱号开通留言板功能
  5. 企业为什么要选择软文营销?
  6. 来到新公司感想与学习。
  7. 本地远程连接不上宝塔面板里的数据库的解决方案
  8. 【美国原装进口健身补充剂 乳清蛋白 绝对正品】
  9. php小蛋白奶粉有哪些牌子,部分水解蛋白奶粉有哪些
  10. 快速实现软件试用的解决方案