cv::Mat转换QImage

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).

 

找到一篇文章,可以针对第二点做出解释。

QImage 图像格式小结

 

posted @ 2017-06-30 16:49  米罗西  阅读(606)  评论(0编辑  收藏  举报