Mat轉QImage
Mat mat=imread("c:/dev/test.jpg");
cvtColor(mat, mat, CV_BGR2RGB);
QImage image(mat.data, mat.cols, mat.rows, mat.step, QImage::Format_RGB888);
Qt與OpenCv之間傳輸數據時,QImage::Format_RGB888
是最兼容的模式.
OpenCv 加載BGR格式,而不是RGB格式,因此需要首先將BGR轉換成RGB。
QImage轉Mat
QImage image("C:/dev/test.jpg");
image = image.convertTOForm(QImage::Format_RGB888);
Mat mat = Mat(image.height(), image.width(), CV_8UC(3), image.bits(),image.bytesPerLine());
以上操作最好借助一個中間變量進行。