图像深度和通道之间的差异
c++
image
image-processing
opencv
5
0

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

参考资料:
Stack Overflow
收藏
评论
共 5 个回答
高赞 时间 活跃

图像深度表示每个通道可以具有的值范围。如果您具有8位(无符号字符)的通道深度,则一个通道可以具有0到255之间的值。RGB表示3个通道,一个代表R ed值,一个代表G reen值,一个代表B lue。值。

收藏
评论

采取这种方式。

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

  • 如果这是灰度图像,则仅需要一个通道来表示图像。怎么样?因为灰度图像(假设是8位图像)将具有8位,所以将2提升为幂8是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]
收藏
评论

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

通道数是许多数字,描述特定像素的颜色(例如RGB-3通道)。

收藏
评论

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

但是,这也取决于术语。通常你会说

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

但是你也可以说

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

然后平均每个RGBA通道8位,或者

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

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

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

收藏
评论

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

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号