【问题标题】:difference between image depth and channels图像深度和通道之间的差异
【发布时间】:2012-04-23 21:52:47
【问题描述】:

我正在尝试学习 opencv,但它非常令人困惑。 有人可以知道imagedepth和no之间的区别吗?图像中的通道数。 假设图像深度为 8 且没有。通道 R、G、B 的数量为 3。那么,这意味着什么,我很难想象 3d 结构

【问题讨论】:

    标签: c++ image image-processing opencv


    【解决方案1】:

    深度(或更好的颜色深度)是用于表示颜色值的位数。我不是很喜欢 OpenCV,但是 8 的颜色深度 通常 意味着每个通道 8 位(所以你有 256 个颜色值 - 或更好:灰色阴影(见评论) - 每个通道 - 来自0 到 255)和 3 个通道意味着一个像素值由 3*8=24 位组成。

    但是,这也取决于命名法。通常你会说

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

    但你也可以说

    "图像的颜色深度为 32 位"

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

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

    平均每个 R、G 和 B 通道 8 位。

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

    【讨论】:

    • 准确地说,从 0 到 255 有 256 个颜色值(或更好的灰色阴影)..
    • 哦,是的,那是真的——我被措辞困住了。将对其进行编辑。
    【解决方案2】:

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

    【讨论】:

    • 我明白了,谢谢你的 cmets
    【解决方案3】:

    往这边走。

    您的图像中只有一个像素。图片的大小为 1x1 像素。

    • 如果这是一个灰度图像,则只需要一个单一通道来表示图像。如何?因为灰度图像(假设是 8 位图像)将有 8 位,即 2 的 8 次幂,即 256 种不同的阴影。从黑到白。 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]

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          猜你喜欢
          • 2012-01-24
          • 1970-01-01
          • 2018-12-05
          • 1970-01-01
          • 2010-09-14
          • 2011-11-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多