Jor*_*rdi 3 c++ optimization qt opencv
我正在使用OpenCV和Qt,Opencv使用BGR,而Qt使用RGB,所以我必须将这2个字节交换为非常大的图像.
有更好的方法来做到以下几点?我想不出更快,但看起来如此简单和蹩脚......
int width = iplImage->width;
int height = iplImage->height;
uchar *iplImagePtr = (uchar *) iplImage->imageData;
uchar buf;
int limit = height * width;
for (int y = 0; y < limit; ++y) {
buf = iplImagePtr[2];
iplImagePtr[2] = iplImagePtr[0];
iplImagePtr[0] = buf;
iplImagePtr += 3;
}
QImage img((uchar *) iplImage->imageData, width, height,
QImage::Format_RGB888);
Run Code Online (Sandbox Code Playgroud)
我们目前正在Qt应用程序中处理此问题.我们发现英特尔性能基元是最快的方法.他们有极其优化的代码.在英特尔ippiSwapChannels文档的html帮助文件中,他们有一个确切要求的示例.
有几个缺点
| 归档时间: |
|
| 查看次数: |
466 次 |
| 最近记录: |