gpt4 book ai didi

algorithm - OpenCV cvtColor() 使用的是什么灰度转换算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:19 27 4
gpt4 key购买 nike

OpenCV 中将图像从彩色转换为灰度时,使用什么转换算法?我试图在 GitHub 上的源代码中查找它,但没有任何成功。

亮度法平均最突出和最不突出的颜色:

  (max(R, G, B) + min(R, G, B)) / 2.

average 方法只是对值进行平均:

  (R + G + B) / 3.

光度法是平均法的更复杂版本。它还对值进行平均,但它形成加权平均值以说明人类感知。与其他颜色相比,我们对绿色更敏感,因此绿色的权重最大。

    The formula for luminosity is 0.21 R + 0.72 G + 0.07 B.

下面是一些转换算法的例子: http://www.johndcook.com/blog/2009/08/24/algorithms-convert-color-grayscale/

最佳答案

彩色转灰度算法在cvtColor() documentation中说明。 . (搜索 RGB2GRAY)。使用的公式与 CCIR 601 相同:

Y = 0.299 R + 0.587 G + 0.114 B

您提供的光度公式适用于 ITU-R Recommendation BT。 709. 如果你想要,你可以在 cvtColor() 的第三个参数中指定 CV_RGB2XYZ(例如),然后提取 Y channel 。

您可以让 OpenCV 执行您描述的“亮度”方法,方法是执行 CV_RGB2HLS 转换,然后提取 L channel 。我认为 OpenCV 没有针对“平均”方法的转换,但如果您浏览文档,您会发现还有其他一些可能性。

关于algorithm - OpenCV cvtColor() 使用的是什么灰度转换算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19181323/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com