一、数据类型

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. 安装CocoaPods
  2. Shell - 通过hook文件后门实现应用的自动启停
  3. 基于Directshow框架使用Windows渲染器VMR叠加水印
  4. CentOS7 Python3安装redis
  5. PIX 几个配置注意的地方
  6. 【Python基础】入门Pandas不可不知的技巧
  7. tcp 二次握手时延_一篇搞懂TCP的三次握手 四次挥手
  8. 使用jQuery实现图片懒加载原理
  9. ubuntu12.04 e680 usbnet
  10. 探索Julia(part7)--数组与字典函数
  11. 【ArcGIS风暴】ArcGIS10.6图斑椭球面积计算原理与方法
  12. 深入react技术栈(5):React生命周期
  13. java.io.FileNotFoundException:/mnt/sdcard/......(Permission denied)
  14. Python函数式编程,map/reduce,filter和sorted
  15. Linux下安装配置git
  16. c语言实验二作业,C语言实验作业8 - osc_5p0xffsa的个人空间 - OSCHINA - 中文开源技术交流社区...
  17. 多载波瑞利信道matlab,瑞利信道仿真matlab.doc
  18. java调用萤石对讲_使用java封装萤石开放平台的接口
  19. php mp4 ckplayer,织梦dedecms整合添加ckplayer播放器支持flv,mp4等播放功能
  20. JAVA POI EXCEL导出工具方法 支持冻结列行和设置不可编辑整行整列

热门文章

  1. Win10 设置取消快速启动栏图标,C++版
  2. Apple开发者账号介绍及证书配置说明。
  3. 如何优雅地使用Mac
  4. 计算机科学领域几个常用的期刊
  5. 文件序4文件名一般为_沈梦辰为唐艺昕当伴娘,3千4百褶裙配腿环,172模特身材真不一般...
  6. img_sec_check 微信图片检测41005
  7. C++打印沙漏问题分析
  8. Java实现 蓝桥杯 算法提高 字符串压缩
  9. git diff 命令获取变更的文件列表
  10. 计算机如何更改用户名的背景,Win10系统下如何更改登录屏幕背景?