第二篇 关于BMP图像

第一篇文章中已粗略的讲了一下关于图像的亮度与颜色。也捎带说了一下图像的表现与图像的获得。这一篇将要讲到具体的干货了。

图像(或者说我们还是拿照片来说事吧)我们一般从相机上获得时,都是一张标准的长方形图像文件。先上一张我用手机拍的照片,以此图像来说事吧。


第二篇 关于BMP图像

第一眼,这图很漂亮,是的,这没错,毕竟拍的是花嘛。那漂亮之余呢?先提一个问题,这图有多大?这个很重要。一般我们会去看图像文件的存储大小。我看了一下,4.44M。好吧。具体我把图贴上来。

 

第二篇 关于BMP图像

嗯,我们看到了具体数字:4665654字节,466万字节,要是把这字节换成钱,466万元,那的确是真够大的。但对图像来说倒是不太多。我们现在的手机动不动就是64G的存储卡,大约可以存64*1024M /4.44M 大约可以存15000张左右。的确不是很大,好了扯远了。(当然这个不是完全没有意义的)好了,扯回来,那么这个图像这么大的存储空间,这是怎么得来的呢?嗯。那我们再上一张图。

 

第二篇 关于BMP图像

    这**意了,画重点,详细信息,这张图里列明以下详细信息:

1. 分辨率:1080*1440  什么是分辨率,简单说,就是图像的长度与宽度。这里要注意一下,这里的单位是像素。这个很重要。需要知道。

2. 位深度:24这个概念的意思就是每一个像素是24位深度,即3个字节,即红色一个字节绿色一个字节蓝色一个字节,一共3个字节。所以一共是3个字节,每个字节8位,共24位。

最后我们算一算吧,1080*1440*3=4665600。看到没了,和前面的大小数字快要一模一样了。是的,不过还相关54个字节。但不重要,大头是对上了,也就是说这张BMP图像之所以是这么大,是因为它有宽1080 乘高1440个像素。加上因为是基于红绿蓝三原色的彩色图像,要乘3,所以就得到了4665600的大小,外加54个字节的文件描述头,所以文件大小就得到了。

总结一下,一张BMP图像,就是由文件头54个字节外加图像本身的长乘宽再乘以每个像素的字节数,就得到了真实的大小。(当然还有一些其他细节,比如对方等,在代码中具体讲)

先说一说关于信息的存储方面的内容吧。基本上任何图像或视频或文档,都是以文件的形式存储的。嗯,无论是音乐,还是图像,或者是文档。大部分文件格式都是按照:文件头+数据的方式存储的。(当然也有一些例外,这里我们不讨论,比如文本文件)很明显,我们的最常用的,最原始的图像文件格式BMP就是这么存储的。

下面我贴上一张图,就刚才这张花的照片的真实数据与分析:
第二篇 关于BMP图像

看上图,从000000处地址开始,背景为浅土黄色的那一块数据,共54个字节,就是Bmp文件的头。下面我划红框的地方为54个字节解析后的数据,第一个为大小,即4665654,第二个框标明它的长宽尺寸为1080,1440,第三个红框为24位。关于具体的每个字节细节解析我直接贴图:

 第二篇 关于BMP图像

第二篇 关于BMP图像

(上两张图出自:https://my.oschina.net/pilgrimzh/blog/1552001)

大家可以细细对照每个字节分析一下,但明白了它们的定义细节。另外,大家如果想完全了解它的全部含义,可以访问我上面发的图片的链接,并自行学习。

第二篇 关于BMP图像第二篇 关于BMP图像