matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,相比较matlab默认数据类型双精度浮点double(64位,8个字节)可以节省存储空间。详细来说imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中。例如,彩色图像像素大小是400*300( 高 * 宽 ),则保存的数据矩阵为400*300*3,其中每个颜色通道值是处于0~255之间。虽然matlab中读入图像的数据类型是uint8,但图像矩阵运算时的数据类型是double类型。这么做一是为了保证精度,二是如不转换,在对uint8进行加减时会溢出。做矩阵运算时,uint8类型的数组间可以相互运算,结果仍是uint8类型的;uint8类型数组不能和double型数组作运算。

matlab读入图像的数据是uint8,将图像转为double格式:

(1.)im2double()函数:参数为unit8型数组时,转化结果矩阵元素取值位于(0,1)。但im2double()的参数是double型时,直接输出参数本身,不做任何数值类型和数值大小的处理。

(2.)double()函数:参数为unit8型数组时,转化结果矩阵元素取值位于(0,255)

matlab处理完图像矩阵后,用imshow()显示图像或用inwrite()写入图片。如果参数数据类型是double型,输出的图像部分区域会显示白色。因为imshow()显示图像时,认为double型数据位于(0,1),对于数组中大于1的元素,会将其归为1,显示为白色。inshow()显示图像时,对于图像数组为uint8型数据的情况,显示的范围是0~255。所以,对于0~255范围的double图像数组,要想正常显示,要么除以255进行归一化处理,要么将其转换成uint8型图像数组显示。

double型A,0~1色阶显示:

uint8型A,0~255色阶显示:

matlab默认的double类型图片数据是位于(0,1),uint8型图片数组是位于(0,255)。所以如果矩阵数据图像是double类型(0~1之间)可直接im2uint8,这样不仅完成数据类型转换,而且将0~1之间映射为了0~255之间的数据。但是如果图像矩阵数据是double类型的0~255,直接im2uint8转换的话,matlab会将大于1的数据都转换为255,0~1之间的数据才会映射到0~255之间整型的数据。

im2double(Img); %将图像数组Img转换成double精度类型

im2uint8(Img);等价于uint8(round(I*255)); %将图像数组Img转换成unit8类型

im2uint16(Img); %将图像数组Img转换成unit16类型

Matlab图像数据类型unit8,double关系相关推荐

  1. Matlab图像数据类型unit8与double

    一.数据类型 uint16 :无符号16bit整数, unit8:无符号8bit整数, int8:有符号8bit整数. double:有符号64bit浮点数.(8bit即一个字节) 二.图像数据类型 ...

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

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

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

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

  4. 在matlab中怎样把图片转化为数据类型,matlab图像数据类型转换

    uint 8:无符号的8位(8bit)整型数据(unit 都是存储型) int :整型数据 1.在MATLAB中,数值一般都采用double型(64位)存储和运算. 2.为了节省存储空间,MATLAB ...

  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. python读取数据库数据类型_从SQL数据库读取二进制数据(图像数据类型)并将其膨胀,Matlab vs.Python...

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

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

  9. matlab图像的主视图,求助大佬【如用MATLAB实现满足投影关系的三视图】

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 请问,在只能利用三维投影变换矩阵的前提下,如何用MATLAB画出满足投影关系的三视图? 目前小弟还只是画出了三视图,立体图,但是侧视图和俯视图不满足投影关 ...

最新文章

  1. 高频变压器的磁饱和及变压器最大电流测量
  2. 字符串的第n个排列的算法
  3. Python传输图片(同一局域网下版本)
  4. 【图专题】三篇图神经网络中的图核函数:主要学习图的拓扑结构从而解决图分类问题...
  5. 【WebRTC---入门篇】(十九)TURN协议
  6. 【Flink】Flink Table SQL 用户自定义函数: UDF、UDAF、UDTF
  7. centos7 安装vsftpd和配置以及虚拟用户权限分配
  8. JAVA------华为----------句子逆序
  9. mysql 全局排序 取第n条_MySQL分组排序取前N条记录 以及 生成自动数字序列 的SQL...
  10. 把Caffe的模型转换为Pytorch模型
  11. 层次分析法在matlab上的实现
  12. c程序设计语言cpp,c++中后缀名.c 与.cpp的区别?
  13. 百度地图标注公司那家好
  14. Android 中轴时光轴
  15. HTML中的 meta 标签
  16. 装上后这 10个扩展后,VSCode 猛虎添翼,无敌了
  17. 10005 内联函数
  18. 考试报名管理系统C语言顺序表,学生信息管理系统(顺序表)实验
  19. NLP预训练模型综述
  20. 复盘--写在秋招之后

热门文章

  1. quicksort java_Java代码实现快速排序(QuickSort)
  2. 虎书学习笔记6:图形学基础数学(重心坐标系、三维三角形)
  3. 无人机生态环境监测、图像处理与GIS数据分析综合应用
  4. pyodbc操作Access2013
  5. 【保姆级教程】明明将【微信】装在了D盘,却还疯狂占用C盘空间?
  6. 事件驱动模型基本结构
  7. 搭搭云-超级应用平台 与JNPF Java多用户商城系统源码
  8. 使用通达信level2接口自动交易下单有什么特点?
  9. vim的常用命令使用教程
  10. Oracle统计信息(二)—— 直方图 Histogram