как конвертировать OpenCV CV :: Mat в Qimage - PullRequest
37 голосов
/ 17 февраля 2011

Мне интересно, как бы я преобразовал стандартный cv :: Mat тип OpenCV C ++ в Qimage.Я искал вокруг, но не повезло.Я нашел некоторый код, который преобразует IPlimage в Qimage, но это не то, что я хочу.Спасибо

Ответы [ 11 ]

0 голосов
/ 04 октября 2013

Это помогло мне. Это немного хитроумно, имеет ужасную производительность (как указано в комментариях), но работает со всеми цветовыми форматами, которые я выбрал до сих пор, и это также очень просто сделать.

Процедура следующая:

cv::Mat image = //...some image you want to display

// 1. Save the cv::Mat to some temporary file
cv::imwrite("../Images/tmp.jpg",image);

// 2. Load the image you just saved as a QImage
QImage img;
img.load("../Images/tmp.jpg");

Готово!

Если, скажем, вы хотите отобразить его в QLabel, продолжайте с:

// Set QImage as content of MyImageQLabel
ui-> MyImageQLabel->setPixmap(QPixmap::fromImage(img, Qt::AutoColor));

Лично я использую это для простого редактора изображений.

...