Matlab图像数据类型unit8,double关系
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关系相关推荐
- Matlab图像数据类型unit8与double
一.数据类型 uint16 :无符号16bit整数, unit8:无符号8bit整数, int8:有符号8bit整数. double:有符号64bit浮点数.(8bit即一个字节) 二.图像数据类型 ...
- matlab uint8转uint16,MATLAB图像uint8,uint16,double, rgb转灰度解释
1.uint8,uint16与double 为了节省存储空间,matlab为图像提供了特殊的数据类型uint8(8位无符号整数),以此方式存储的图像称作8位图像.matlab读入图像的数据是uint8 ...
- Matlab图像中的unit8和double的处理问题
matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,相比较matlab默认数据类型双精度浮点double(64位,8个字节)可以节省存储空 ...
- 在matlab中怎样把图片转化为数据类型,matlab图像数据类型转换
uint 8:无符号的8位(8bit)整型数据(unit 都是存储型) int :整型数据 1.在MATLAB中,数值一般都采用double型(64位)存储和运算. 2.为了节省存储空间,MATLAB ...
- 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 ...
- 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) ...
- matlab图像的主视图,求助大佬【如用MATLAB实现满足投影关系的三视图】
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 请问,在只能利用三维投影变换矩阵的前提下,如何用MATLAB画出满足投影关系的三视图? 目前小弟还只是画出了三视图,立体图,但是侧视图和俯视图不满足投影关 ...
最新文章
- 高频变压器的磁饱和及变压器最大电流测量
- 字符串的第n个排列的算法
- Python传输图片(同一局域网下版本)
- 【图专题】三篇图神经网络中的图核函数:主要学习图的拓扑结构从而解决图分类问题...
- 【WebRTC---入门篇】(十九)TURN协议
- 【Flink】Flink Table SQL 用户自定义函数: UDF、UDAF、UDTF
- centos7 安装vsftpd和配置以及虚拟用户权限分配
- JAVA------华为----------句子逆序
- mysql 全局排序 取第n条_MySQL分组排序取前N条记录 以及 生成自动数字序列 的SQL...
- 把Caffe的模型转换为Pytorch模型
- 层次分析法在matlab上的实现
- c程序设计语言cpp,c++中后缀名.c 与.cpp的区别?
- 百度地图标注公司那家好
- Android 中轴时光轴
- HTML中的 meta 标签
- 装上后这 10个扩展后,VSCode 猛虎添翼,无敌了
- 10005 内联函数
- 考试报名管理系统C语言顺序表,学生信息管理系统(顺序表)实验
- NLP预训练模型综述
- 复盘--写在秋招之后