我正在做一些图像处理,我对一些术语有点困惑。特别是,我对“位深度”的含义感到困惑。
我对位图的结构有很好的理解:它基本上是一个M x N x channels
矩阵。所以一个 RGB 位图是M x N x 3
,一个 RGBA(带有 alpha 通道的 RGB)是一个M x N x 4
矩阵。
但是,这里还有另一个变量,即BIT DEPTH(或颜色深度)。根据Wikipedia 文章,位深度是指每个像素的位数。因此,RGB 位图的位深度为 24。
但是,我一直在使用libpng
C++,并且libpng
似乎将位深度定义为每个通道的位数,而不是每个像素。因此,RGB 位图可以有 8 位深度,这意味着每个通道 1 个字节(8 位),因此每个像素有 24 位。
特别是,libpng API 函数png_get_bit_depth
返回8
24 位 RGB 位图。那么,使用术语的维基百科文章是错误的吗?还是libpng
这里错了?还是术语本身有些模棱两可?