Convert between cv::Mat and QImage 两种图片类转换
Posted Grandyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Convert between cv::Mat and QImage 两种图片类转换相关的知识,希望对你有一定的参考价值。
在使用Qt和OpenCV混合编程时,我们有时需要在两种图片类cv::Mat和QImage之间进行转换,下面的代码参考了网上这个帖子:
//##### cv::Mat ---> QImage ##### // Shallow copy QImage mat2qimage_ref(cv::Mat &m, QImage::Format format) { return QImage(m.data, m.cols, m.rows, m.step, format); } // Deep copy QImage mat2qimage_cpy(cv::Mat &m, QImage::Format format) { return QImage(m.data, m.cols, m.rows, m.step, format).copy(); } //##### QImage ---> cv::Mat ##### // Shallow copy cv::Mat qimage2mat_ref(QImage &img, int format) { return cv::Mat(img.height(), img.width(), format, img.bits(), img.bytesPerLine()); } // Deep copy cv::Mat qimage2mat_ref(QImage &img, int format) { return cv::Mat(img.height(), img.width(), format, const_cast<uchar*>(img.bits()), img.bytesPerLine()).clone(); }
以上是关于Convert between cv::Mat and QImage 两种图片类转换的主要内容,如果未能解决你的问题,请参考以下文章
资料收集Converting Between cv::Mat and QImage or QPixmap
cv::mat与unsigned char*相互转化之间的转换