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型数组作运算。
图像数据(Image Data)是指用数值表示的各像素(pixel)的灰度值的集合。
对真实世界的图像一般由图像上每一点光的强弱和频谱(颜色)来表示,把图像信息转换成数据信息时,须将图像分解为很多小区域,这些小区域称为像素,可以用一个数值来表示它的灰度,对于彩色图像常用红、绿、蓝三原色(trichromatic)分量表示。顺序地抽取每一个像素的信息,就可以用一个离散的阵列来代表一幅连续的图像。在地理信息系统中一般指栅格数据。
标签: 数据类型