强制cv::Mat使用RGB数据顺序
Force cv::Mat to use RGB data order
默认情况下,cv::imread
按BGR顺序将数据读取到cv::Mat
。我更喜欢RGB顺序。每次我阅读图像时,我都会进行转换:
cv::Mat image;
image = cv::imread("...",CV_LOAD_IMAGE_COLOR);
if(!image.data )
...
cvtColor(image, image, CV_BGR2RGB);
有没有办法告诉Mat
或imread
颜色顺序应该不同?类似于:
Cv::Mat image;
image.setOrder(CV_RGB) // ???
image = cv::imread("...",CV_LOAD_IMAGE_COLOR);
不,事实上,imread()
没有这样的可配置性,也没有定义通道顺序的可能性。
我建议你把你的图像阅读和频道混合包装在一个小的实用函数中。
相关文章:
- C++中数据类型修饰符的顺序
- 如果在 C++ 构造函数中以错误的顺序初始化对象数据,会发生什么类型的错误
- 交换未定义数据类型中的字节顺序
- C++11 标准中的哪一部分规定了基元数据类型大小之间的相对顺序?
- C++ 从文件中获取数据时使用 strcpy 和 strcmp 按字母顺序对数组进行排序?
- 我们如何从BOOST :: ASIO :: TCP :: ip :: read_some呼叫中顺序接收多个数据
- YAML-CPP的顺序返回数据
- 在不复制数据的情况下更改 opencv mat 中的列顺序
- 一种按排序顺序保持元素的数据结构,支持快速插入和计算连续元素之间的最大差异
- c++设置了保持插入顺序的数据结构
- 使用初始化列表时的 C++ 数据成员初始化顺序
- 类数据成员的销毁顺序
- 用于插入大部分排序数据的数据结构,这些数据将保持排序顺序
- 原始数据包创建导致 IP 字段顺序不正确
- 类C++的静态函数成员中的静态数据成员初始化顺序
- 我的C++DLL返回两个顺序调用混合的数据
- reinterpret_cast接收端的'serializing'数据、字节顺序和对齐方式
- 静态数据成员初始化顺序
- 颠倒数据顺序
- 强制cv::Mat使用RGB数据顺序