图像处理术语:位深度

时间:2013-03-10 17:20:28

标签: c++ image image-processing png libpng

我正在做一些图像处理,我对某些术语感到有些困惑。特别是,我对“位深度”的含义感到困惑。

我对位图的结构有很好的理解:它基本上是一个M x N x channels矩阵。因此RGB位图为M x N x 3,RGBA(带alpha通道的RGB)为M x N x 4矩阵。

但是,这里还有另一个变量,即 BIT DEPTH (或颜色深度)。根据 Wikipedia article ,位深度是指每个像素的位数 。因此,RGB位图的位深度为24。

但是,我一直在使用C ++中的libpnglibpng似乎将位深度定义为每个通道的位数 < / strong>,而不是每像素。因此,RGB位图的位深度为8,即每个通道1个字节(8位),因此每个像素为24位。

特别是,对于24位RGB位图,libpng API函数png_get_bit_depth返回8。那么,使用该术语的维基百科文章是错误的吗?或者libpng错了吗?或者术语本身有些含糊不清?

1 个答案:

答案 0 :(得分:2)

虽然指定像素深度更为常见,但两者都没有错。通常,您唯一能看到组件深度的时间是针对专家的内容。另请参阅x264,它有8位和10位版本,均指代组件深度。