参考:https://blog.csdn.net/FX677588/article/details/53301740
1、图像在matlab中的保存
matlab读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,比double型(64位,8个字节),节省了存储空间。
**imread()**是将灰度图像存入一个8位矩阵;若为RGB图像时,就存入8位RGB矩阵中。如,彩色图像像素大小是400*300( 高 x 宽 ),则保存的数据矩阵为400x300x3,其中每个颜色通道值是处于0~255之间。
虽然matlab中读入图像的数据类型是uint8,但图像矩阵运算的时,使用的数据类型却是double类型。一是为了保证精度,二是因为如果不转换,在对uint8进行加减时会产生溢出。
1个字节无符号整型最大只能存储数据为255,对图片的操作所以很容易溢出。
2、unit8和im2unit8
- uint8():简单地把一个变量类型转换成uint8类型,数值大小不变
- im2unit8():把图像数据类型转换为unit8类型。如果输入图像是unit8类型的