我正在尝试使用 pleora sdk 转换从高速相机获取的图像。制造商应用程序的文档/设置显示图像是使用 BayerGB8 传输的。为了进一步处理和存储,我需要某种 RGB/BGR 格式的图像。但是,我的代码只显示了一些奇怪的颜色:
使用
cv::Mat bayer8BitMat(lHeight, lWidth, CV_8UC1, dispBuffer->GetDataPointer());
cv::Mat rgb8BitMat(lHeight, lWidth, CV_8UC3);
cv::cvtColor(bayer8BitMat, rgb8BitMat, CV_BayerGB2RGB);
QImage qimg= QImage((uchar*) rgb8BitMat.data, rgb8BitMat.cols, rgb8BitMat.rows, rgb8BitMat.step, QImage::Format_RGB888);
我试过的另一个选择:
cv::Mat bayer8BitMat(lHeight, lWidth, CV_8UC1, dispBuffer->GetDataPointer());
cv::Mat rgb8BitMat(lHeight, lWidth, CV_8UC1);
cv::cvtColor(bayer8BitMat, rgb8BitMat, CV_BayerBG2RGB);
QImage qimg= QImage((uchar*) rgb8BitMat.data, rgb8BitMat.cols, rgb8BitMat.rows, rgb8BitMat.step, QImage::Format_RGB16);