图像深度和图像内存的计算
1.图像的深度
对于单通道图像,图像深度表示图像能够显示的最大的图像的灰度的级数;对于三通道图像,图像深度表示图像颜色的种类数;
用位来表示:
例如对于一个三通道图像,图像深度分为一下几种:
8位:图像像素占据一个字节共8位,其中BGR分别占据2位,3位,3位。这个图像的能表示的颜色类型就是2的8次方,256种颜色,
这种图像就是能看得到黑白。
16位:图像像素占据两个字节16位,BGR分别占据5,6,5,这个图像能够表示的颜色类型就是2的16次,65336种颜色,伪彩色图像,这种图像失真比较严重
24位:每个像素占据三个字节共24位,BGR各占据8位,这个图像能表示的颜色类型是16720000,这种图像称之为真彩色图像。
对于多通道,我们可能还会给像素赋予一个属性位,用以控制图像的透明度。
32位:每个像素占据三个字节共24位,BGR各占据8位,这个图像能表示的颜色类型是16720000,另外8位用于表示一个属性位,控制图像的透明度,这个通道称之为alpha通道。Alpha又称为通道位,中断位,属性位。
2.图像内存的计算
文件的储存形式:
8位图像:gif 每个像素占据一个字节,内存1B
16位:bmp 每个像素占据两个字节,内存2B
24位与32位:png格式 每个像素占据3或者4个字节,内存4B
一张图片的内存计算:
例如一张1024* 768的真彩色图像,求它的内存
对于真彩色图像,每个像素占据24位共3B的内存,那么总共的内存是
1024* 768* 24/8 字节 =1024* 768* 24/8 /1024 KB
1024* 768* 24/8 /1024/1024 MB =2.2M
图像深度与CV数据类型之间的关系
例如我们像创建24位的彩色图像矩阵,通过Mat建立矩阵,其中的数据类型是CV_24UC3,中间这个数字表示的是每个像素所占据的位数,而不是单个颜色通道占据的位数
显示器显示图像时:
比较低端的显示器每个基色只有6位,表示64种颜色,所以总共能显示64* 64* 64种颜色,即使视频再高清,但是显示器承载不出来
高端的显示器每个基色8位,能够显示256×256×256=16777216种颜色,画面比较细腻,层次感好
更高端的显示器可以显示32位通道图像,这是预留了8位alpha通道,显示出的图像更加细腻,层次感更好
3.图像的分辨率
严格来说图像的分辨率就是一英寸图片有的像素点,现这个概念被用为一张图像的像素点;
上述就是影响图片观感的两个重要因素:分辨率和图像深度