cvtColor(img, img, CV_BGR2RGB); QImage image((uchar*)img.data,img.cols,img.rows,QImage::Format_RGB888);
image = image.convertToFormat(QImage::Format_RGB32); image.save("CurrentImg.jpg");
有两个疑问:
cvtColor(img, img, CV_BGR2RGB); QImage image((uchar*)img.data,img.cols,img.rows,QImage::Format_RGB32); //image = image.convertToFormat(QImage::Format_RGB32); image.save("CurrentImg.jpg");
1 、上面代码cv::Mat 转成QImage::Format_RGB32后,save的时候会出错,Why?
2、 RGB共占用8*3=24位,Format_RGB32 比 Format_RGB888多出来的8位到底是什么?
Qt官方文档中有具体说明:
QImage::Format_RGB32 The image is stored using a 32-bit RGB format (0xffRRGGBB).
找到一篇文章,可以针对第二点做出解释。