我正在尝试学习opencv,但它非常令人困惑。有人能知道图像深度和否之间的区别吗?图像中的通道。假设图像深度为 8 且没有。通道 R,G,B 为 3。那么,它意味着什么,我很难可视化 3D 结构
深度(或更好的颜色深度)是用于表示颜色值的位数。我不是很喜欢 OpenCV,但 8 的颜色深度通常意味着每个通道 8 位(所以你有 256 个颜色值 - 或更好:灰色阴影(见评论) - 每个通道 - 从 0 到 255)和 3 个通道意味着一个像素值由 3*8=24 位组成。
但是,这也取决于命名法。通常你会说
"颜色深度为每通道 8 位"
但你也可以说
"图像的颜色深度为 32 位"
然后意味着每个 RGBA 通道 8 位或
"图像的颜色深度为 24 位"
每个 R、G 和 B 通道平均 8 位。
底线:文档(或措辞)在这里必须非常具体;-)
这样吧。
您有一个图像中只有一个像素。图像的大小为 1x1 像素。
- 如果这是灰度图像,则只需要一个通道来表示图像。如何?因为灰色图像(假设是 8 位图像)将有 8 位,即 2 次方提升到 8 whjch 的幂是 256 种不同的阴影。从黑色到白色。灰度
- 灰度通常是黑白图像。
- 现在,如果相同的单像素图像由颜色组成,那么我们需要三个通道,即红色,绿色和蓝色或RGB。当我们混合这些通道的阴影时,我们会得到不同的颜色。 比如,(255,255
- ,255) 在 RGB 中是纯白色,(0,0,0) 是纯黑色
- 所以现在每个通道的阴影将从 0-255 到 8 位。
- 生成的彩色图像的深度为8位,通道数为3。
- 每个通道可以有超过 8 位,这会增加颜色范围(阴影)
- 对于 1x1 像素图像,像素颜色值的范围为每个通道 0-255。这是
[0 to 255 in R][0 to 255 in G][0 to 255 in B]
根据OpenCV文档,在OpenCV中,深度被定义为单个通道的位深度。因此,如果您有 8 位深度和 3 个通道,则意味着每个图像像素有 24 位
图像深度是指每个通道可以具有的值范围。如果您的通道深度为 8 位(无符号字符),则一个通道的值可以介于 0 - 255 之间。RGB 表示 3 个通道,一个用于 R ed 值,一个用于 G reen 值,一个用于 B lue 值。
图像深度是用于存储图像的实际数据类型的长度(integer
,char
,float
)。在您的情况下,它似乎是char
或unsigned char
,因为深度为 8 位。
通道数是描述特定像素的颜色(例如RGB - 3通道)的数字数。