首页  技术文章  从数据的角度看相机获取的图片

从数据的角度看相机获取的图片

发布时间:2021-02-07 11:25:22 浏览量:3847 作者:Leo

摘要

常见的图片格式有bmp, jpg, png, gif, webp等;此外还有出现较晚的BPG,TPG等图片格式。不同的文件格式表明了图片在内存中不

同的数据组成结构。

正文


在计算机中, 图像由一个个像素点组成。图像数据存储在每一个像素点中,每一个像素点的数据可以占用不同字节长度。如果,每一个

像素点用1bit的数据,那么只能有0或1两个取值,可以表示黑白两色。如果,每一个像素点占用4bit的数据,可以有0-2^4-1之间的取

值范围,可以表示出更丰富的色彩。我们把计算机存储单个像素点所用到的bit为称之为图像的深度,具体是数据值称为深度值。常见

的图像深度为24,也就是一个数据占用24bit,共3字节。


图像的深度值按一定的规则分配之后可以表示出更丰富的信息。比如颜色,灰度等。表示颜色的方法最简单常用的是RGB。比如,一

个24bit的数据,可以分为3个字节,每个字节表示一个颜色分量。每个颜色分量的取值范围是0-255。


这样的图片我们称它的通道数为3。同样24bit的数据还可以分成4个6bit,多出来的第4通道用来表示灰度值。不过更常用的是32bit深

度的数据,用RGBA的方式存储数据。RGB和RGBA是最常用的两种图片存储方式。


R,G,B每个分量一般是用一个字节(8位)来表示,这种情况下,一张RGB图像中中每个像素大小就是3*8=24bit。下图示意一张5*5像素

的RGB图像:

图像本身是二维数据,从数据角度看,除了必要的头文件以外。构成一张图片的主要数据是像素点数据构成的按一定规律排布的数据。

24bit3通道的像素点的数据可以用十六进制表示。其内部的内容类似如下格式“04F1 84F1 84F1 06F2……”。


当人们读取或存储一张图片时,会发生图像数据和文件格式之间的转换。图像数据编码成我们常见的BMP,JPEG等文件格式供人们浏

览;当存储不同格式的数据时,又将图片解码成图像数据。BMP,JPEG以及后来腾讯开发了TPG的文件格式本质上是编码和解码的方

式不同。BMP是图像数据未经压缩的格式,JPEG、PNG、TPG等是图像数据经过压缩之后的格式。



BMP(全称Bitmap)是Window操作系统中的标准图像文件格式。BMP文件通常是不压缩的,所以它们通常比同一幅图像的压缩图像

文件格式要大很多。例如,一个800×600的24位几乎占据1.4MB空间。


JPEG是有损压缩格式, 将像素信息用jpeg保存成文件再读取出来,其中某些像素值会有少许变化。在保存时有个质量参数可在[0,100]

之间选择,参数越大图片就越保真,但图片的体积也就越大。一般情况下选择70或80就足够了。jpeg没有透明信息,透明信息是前文

提到的RGBA中的A通道实现的。jpeg比较适合用来存储相机拍出来的照片,这类图像用jpeg压缩后的体积比较小。其使用的具体算法

核心是离散余弦变换、Huffman编码、算术编码等。


PNG是一种无损压缩格式, 压缩大概是用行程编码算法。可以有透明效果。比较适合适量图,几何图。jpeg比较适合存储色彩“杂

乱”的拍摄图片,png比较适合存储几何特征强的图形类图片。


此外还有GIF、TPG、RAW、TIF等其他格式。


您可以通过我们的官方网站了解更多的产品信息,或直接来电咨询4006-888-532