我有一个 RGB32 格式的 QImage 当我这样做时:
cv::Mat depthMat(depthImg.height(),depthImg.width(),CV_8UC3,(uchar*)depthImg.bits(),depthImg.bytesPerLine());
我得到了左边的图像。我实际上应该得到右边的图像。
最佳答案
好的!我想到了! RGB32有8位R,8位G,8位B,8位Alpha。它本质上是RGBA。所以,我们可以使用这个:
cv::Mat depthMat(depthImg.height(),depthImg.width(),CV_8UC4,(uchar*)depthImg.bits(),depthImg.bytesPerLine());
关于qt - 如何将 RGB32 格式的 QImage 转换为 OpenCV::mat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17811166/