Как мы можем преобразовать напрямую cv :: Mat в QPixmap, не проходя загрузку имени файла?
Я провел некоторое исследование об этом, но никаких подсказок!
В качестве первого шага я попытался сохранить изображение, а затем загрузить его. Но это не то, что я хочу иметь.
Джехан прав.
Для людей, обращающихся к этой теме в будущем:
Сначала преобразуйте изображение из BGR (используется OpenCV) в RGB.
Затем:
QPixmap::fromImage(QImage((unsigned char*) mat.data, mat.cols, mat.rows, QImage::Format_RGB888));
Mehfoos Yacoob прав, это лучший способ преобразовать cv::Mat
к QPixmap
, Во-первых, вам нужно преобразовать cv::Mat
к QImage
, а затем с помощью fromImage
функция, присвойте свой результат QPixmap
, Важно помнить о типе cv::Mat
для того, чтобы использовать правильный QImage
формат.
Это небольшой пример того, как это сделать: http://asmaloney.com/2013/11/code/converting-between-cvmat-and-qimage-or-qpixmap/