本文把自己理解的图像存储格式总结一下。
计算机中的数据,都是二进制的,所以图片也不例外。
这是opencv文档的描述,具体在代码里面,使用矩阵来进行存储。
类似下图是(BGR格式):
图片的最小单位是像素,这里是BGR(通常我们说的blud、green、red的表示法)表示每个像素对应的值(这里BGR的混合,可以得到我们可见光的所有值)。
如果是单通道(例如:灰度化之后的图像,这里就只有一列)
参考可见光光谱:
因为物体都是原子组成,原子都在运动,运动会产生光波,不同的物体生成的光波不一样,人类视网膜可以识别的光波,为可见光波段,具体可以由RGB三种颜色组成(每种0-255范围)。
所以,摄像机、照相机等成像,也是通过感光器(如下图所示),来获取不同的值, 然后存储,一般的感光器都是接收RGB三种颜色波段,所以最终图片存储也是采用(RGB)存储。其中每个像素都有(RGB)值。
这样,从最开始的成像原理来理解图片一般都是为啥按照这种存储方式,就说的通了。
当然,具体的系统文件,还需要一些header头部信息(来进行描述)。然后还会具体到各种编码(png、jpg等)啥的,就是后面的事情了。
参考:
书籍: Computer Vision Metric