Opencv:BGR2GRAY 函数如何工作?

Open CV: How does the BGR2GRAY function work?

谁能解释一下BGR2GRAY转换的数学背景和函数?

https://docs.opencv.org/3.4/de/d25/imgproc_color_conversions.html 下,我找到了以下用于 RGB 到灰色的内容:

RGB[A] to Gray:Y←0.299⋅R+0.587⋅G+0.114⋅B

BGR也一样反过来吗?真的有那么简单还是背后有更复杂的方法:

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

由于人类视觉无法平等地接收所有颜色,因此原色的贡献各不相同。这取决于颜色的波长。在第 7 页的以下文档中,您可以找到公式和更多解释:http://poynton.ca/PDFs/ColorFAQ.pdf

BGR 自成立以来就一直用于 OpenCV,当时有几家公司使用 BGR 而不是 RGB。现在的标准是RGB。尽管如此,转换公式相当于 Y=0.299*R + 0.587*G + 0.114*B