可以从OpenNI Image Meta Data获得的图像排列为RGB图像。我想将其转换为OpenCV IplImage,默认情况下数据将被存储为BGR。我使用下面的代码:OpenNI RGB图像到OpenCV BGR IplImage转换?
XnUInt8 * pImage = new XnUInt8 [640*480*3];
memcpy(pImage,imageMD.Data(),640*480*3*sizeof(XnUInt8));
XnUInt8 temp;
for(size_t row=0; row<480; row++){
for(size_t col=0;col<3*640; col+=3){
size_t index = row*3*640+col;
temp = pImage[index];
pImage[index] = pImage[index+2];
pImage[index+2] = temp;
}
}
img->imageData = (char*) pImage;
什么是执行这个转换,使得RGB图像变得BGR(以IplImage的格式)的最佳方式(最快)的C/C++?
有没有内置的机制来做到这一点。你将不得不亲手做。 – karlphillip