我正在做一些图像处理,我对某些术语感到有些困惑。特别是,我对“位深度”的含义感到困惑。
我对位图的结构有很好的理解:它基本上是一个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 ++中的libpng
,libpng
似乎将位深度定义为每个通道的位数 < / strong>,而不是每像素。因此,RGB位图的位深度为8,即每个通道1个字节(8位),因此每个像素为24位。
特别是,对于24位RGB位图,libpng API函数png_get_bit_depth
返回8
。那么,使用该术语的维基百科文章是错误的吗?或者libpng
错了吗?或者术语本身有些含糊不清?
答案 0 :(得分:2)
虽然指定像素深度更为常见,但两者都没有错。通常,您唯一能看到组件深度的时间是针对专家的内容。另请参阅x264,它有8位和10位版本,均指代组件深度。