一、概述
此篇主要是記錄一下如何將OpenCV集成得到Qt Creator中,並將OpenCV的Mat對象轉換為QImage並使用qt的api顯示圖片
a.使用Qt Creator開發工具集成OpenCV,在.pro文件中配置環境即可,如下圖所示
b.將Mat對象轉為QImage對象並使用Qt顯示出來的步驟如下:
1.將使用OpenCV imread函數加載一張圖片
2.將Mat轉為QImage
3.將QImage轉為QPixmap
4.將QPixmap放到QLabel上並顯示出來
二、示例
/** * 調用openCV顯示一張圖片,讓圖片的尺寸和窗口尺寸保持一致 * @brief MainWindow::MainWindow * @param parent */ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); Mat src = imread("C:\\Users\\wei.yang\\Downloads\\girl.jpg"); //imshow("girl",src); QImage dst = QImage(src.data,src.cols,src.rows,src.step,QImage::Format_BGR888); this->setFixedSize(QSize(dst.width(),dst.height()));//設置窗口為固定尺寸 QLabel *label = new QLabel();//創建一個label label->setParent(this);//將其父類指向當前窗口,在關閉窗口的時候此label會跟着銷毀 label->setFixedSize(QSize(dst.width(),dst.height()));//設置label為固定尺寸 label->setScaledContents(true);// //label->resize() label->setPixmap(QPixmap::fromImage(dst));//在label顯示圖片 }
三、顯示效果