opencv - OpenCV 对其 RGB/BGR 颜色空间使用了哪些颜色匹配函数?

标签 opencv colors rgb emgucv

我使用的是 OpenCV 3.0,但我的问题应该与版本无关。我想知道 the many 中的哪一个OpenCV 默认使用的 RGB 颜色空间。 也就是说,对于 default representation, BGR 中的图像, OpenCV 使用哪个 RGB 空间?

我怀疑它们是 CIE 1931 XYZ functions :

CIE XYZ

CIE 1931 RGB functions :

CIE RGB


注意:这个问题是镜像 here (等待适度,截至目前)。我将确保他们之间共享任何知识。

最佳答案

原来配色函数是捕获设备和显示设备的问题。查看 sRGB wiki page 的相关部分

Due to the standardization of sRGB on the Internet, on computers, and on printers, many low- to medium-end consumer digital cameras and scanners use sRGB as the default (or only available) working color space. As the sRGB gamut meets or exceeds the gamut of a low-end inkjet printer, an sRGB image is often regarded as satisfactory for home use. However, consumer-level CCDs are typically uncalibrated, meaning that even though the image is being labeled as sRGB, one can't conclude that the image is color-accurate sRGB.

OpenCV 可用于在颜色空间之间进行转换,或使用 the right math 导出颜色空间坐标.但是 OpenCV 没有一套“默认”的颜色匹配函数。如果您的相机在 X 空间(例如 CIE XYZ)中捕获,并且您的显示设备或打印机也在 X 空间中显示,则可以使用 OpenCV 处理两者之间的数据,而无需考虑空间。但是,如果显示设备在不同的空间 Y(例如 Adob​​e RGB)中显示,则可以使用 OpenCV 将图像从空间 X 转换到空间 Y。

关于opencv - OpenCV 对其 RGB/BGR 颜色空间使用了哪些颜色匹配函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32339859/

相关文章:

c++ - OpenCV 如何利用 Eigen?

flash - 在 Spark 列表中设置项目渲染器的透明度

ffmpeg - 使用 FFMPEG 将 YUV 帧转换为 RGBA 帧

visual-studio-2010 - 在Visual C++中比较图像和视频

c# - OpenCV C# 中的图像转换

python - 在tkinter框架内浏览图像

css - 选择星级时防止页面返回顶部

emacs - Spacemacs 自定义颜色

c++ - 将 Yuv420 转换为 rgb 并在 qt 像素图上显示

javascript - rgb 值作为变量