Qt+OpenCV顯示圖片(Mat轉QImage然后現在在QLabel上)


一、概述

  此篇主要是記錄一下如何將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顯示圖片




}

 

三、顯示效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM