为什么OpenCV
使用BGR
颜色空间而不是RGB
。我们都知道RGB
是大多数计算机图形学的便捷颜色模型,人类视觉系统也与RGB
颜色空间类似。那么OpenCV
使用BGR
颜色空间是否有原因呢?。
为什么OpenCV
使用BGR
颜色空间而不是RGB
。我们都知道RGB
是大多数计算机图形学的便捷颜色模型,人类视觉系统也与RGB
颜色空间类似。那么OpenCV
使用BGR
颜色空间是否有原因呢?。
OpenCV早期开发人员选择BGR颜色格式的原因可能是因为在当时,相机制造商和软件提供商中,BGR颜色格式很受欢迎。例如,在Windows中,使用COLORREF指定颜色值时,使用BGR格式0x00bbggrr。
BGR是出于历史原因做出的选择,现在我们必须接受它。换句话说,BGR是OpenCV中的累赘问题。
OpenCV 读取图像时使用 BGR 格式(而不是 RGB),因为在 OpenCV 最初开发时,BGR 颜色格式在相机制造商和图像软件提供商中很受欢迎。红色通道被认为是最不重要的颜色通道之一,因此排在最后,很多位图使用 BGR 格式进行图像存储。但是,由于现在标准已经改变,大多数图像软件和相机使用 RGB 格式,因此,在程序中,最好在分析或操作任何图像之前将 BGR 图像转换为 RGB。