OpenCV 中的通道顺序

Posted

技术标签:

【中文标题】OpenCV 中的通道顺序【英文标题】:Channel order in OpenCV 【发布时间】:2013-05-20 20:41:27 【问题描述】:

我在一些论坛上读到OpenCV默认有BGR通道顺序。

cv::Mat 也可能具有 RGB 通道顺序。

灰度转换将指定 CV_BGR2GRAY 或 CV_RGB2GRAY 作为参数。

1) 除了 RGB 和 BGR,还有其他选择吗?

2) 有没有办法通过代码找出通道的顺序是什么?

谢谢。

【问题讨论】:

【参考方案1】:

Opencv 始终 (AFAIK) 使用 BGR 通道顺序,GPU 模块中有一些函数使用 BGRA,因为 opengl 上下文在 32 位像素下效果更好。

BGR2Gray 和 RGB2Gray 都调用同一个函数。

最简单的检查方法是在绘图等中创建一个已知 R、G、B 值的图像,然后在调试器中检查 cv::Mat 内存

【讨论】:

以上是关于OpenCV 中的通道顺序的主要内容,如果未能解决你的问题,请参考以下文章

matlab 图像和 opencv 图像的相互转换

openCV-python(六)图像操作——通道拆分与合并

OpenCV的图像通道操作

图像处理openCV基础使用

访问 OpenCV 中的每个单独通道

python-opencv-像素操作