图像深度和通道之间的差异

时间:2012-04-11 14:56:21

标签: c++ image image-processing opencv

我正在尝试学习opencv,但它非常令人困惑。 有人可以知道imagedepth和no之间的区别。图像中的通道。 假设图像深度为8而不是。通道R,G,B是3.然后,它表示什么,我很难看到三维结构

5 个答案:

答案 0 :(得分:23)

深度(或更好的颜色深度)是用于表示颜色值的位数。我不是真的进入OpenCV,但是颜色深度为8 通常意味着每个通道8位(因此你有256个颜色值 - 或更好:灰色阴影(见注释) - 每个通道 - 来自0到255)和3个通道意味着一个像素值由3 * 8 = 24位组成。

然而,这也取决于命名法。通常你会说

“颜色深度为每通道8位”

但你也可以说

“图像的颜色深度为32位”

然后表示每个RGBA通道8位或

“图像的颜色深度为24位”

表示每个R,G和B通道的8位。

底线:文档(或措辞)在这里必须非常具体; - )

答案 1 :(得分:8)

根据OpenCV documentation,在OpenCV中,深度定义为单个通道的位深度。因此,如果您有8位深度和3个通道,则意味着每个图像像素有24位

答案 2 :(得分:7)

这样做。

您的图像中只有一个像素。图像的尺寸为1x1像素。

  • 如果这是灰度图像,则仅需要单个通道来表示图像。怎么样?因为灰色图像(假设8位图像)将具有8位,其中2位被提升到8次幂,所以是256个不同的SHADES。从黑色到白色。 Gray scale
  • 灰度通常是黑白图像。
  • 现在,如果相同的单个像素图像由颜色组成,那么我们需要三个通道,即红色,绿色和蓝色或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]

答案 3 :(得分:5)

图像深度表示每个通道可以具有的值范围。如果您的频道深度为8位(无符号字符)一个通道的值可以是0 - 255.RGB表示3个通道,一个用于 R ed值,一个用于 G reen值和一个 B lue值。

答案 4 :(得分:2)

图像深度是用于存储图像的实际数据类型的长度(integercharfloat)。在您的情况下,它似乎是charunsigned char,因为深度是8位。

通道数是一些数字,用于描述特定像素的颜色(例如RGB - 3通道)。