c++ - 在 OpenCV 上组织 channel

标签 c++ c opencv

假设我们有 R、G 和 B 创建的图像:

IplImage *R=cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 1);
IplImage *G=cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 1);
IplImage *B=cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 1);

我们有一个像 A 的图像:

IplImage *A=cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 3);

当我们将 A 拆分为 3 个 channel 时,顺序必须是:

cvSplit(A, R, G, B, NULL);

cvSplit(A, B, G, R, NULL);

最佳答案

OpenCV 的默认 channel 顺序是BGR

关于c++ - 在 OpenCV 上组织 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17322947/

相关文章:

c - 尝试用 C 语言编写哈希表,我在这里做的事情正确吗?

c++ - 将包含不可复制/可移动对象的结构添加到 std::map

c++ - 运算符重载(int as bool)

c++ - 使 Xerces 解析字符串而不是文件

c - 使用数组表示法访问 SSE vector 寄存器

python - 从 C 代码序列化数组数据,在 Python 中反序列化

c++ - 在 C++ 中设计多个使用的类时,我应该使用 API/ABC 吗?

opencv - 在 ubuntu 18.04 上安装 opencv 2.4.9

c++ - 使用 OpenCV 进行单相机校准 - 生成 "Complete"未失真图像时出现问题

c++ - OpenCV VideoWriters 的输出目录有问题