用Qt5和OpenCV讀取顯示中文路徑的圖片

PeOS發表於2015-02-12

在進行相關編碼前,請先設定好使用Qt(mingw版)下使用OpenCV的環境,具體過程可參考:http://blog.csdn.net/qiurisuixiang/article/details/8665278

步驟一:新建Qt Widgets Application過程,並在介面上新增一個按鈕,為按鈕新增click訊號和對應的槽函式:

步驟二:修改OpenCV在QtPro檔案的配置(參考之前的網站),以及新增標頭檔案

//對話方塊標頭檔案
#include <QFileDialog>
//OpenCV相關標頭檔案與名稱空間
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
using namespace cv;
步驟三:在之前新增的按鈕的槽中新增如下程式碼

void MainWindow::on_peBtnReadImg_clicked()
{
    //開啟對話方塊,獲取所選擇的檔案路徑
   QString fileName = QFileDialog::getOpenFileName(this, tr("File Dialog"), "E:", tr("pic file(* png * jpg * bmp)"));
   //判斷是否有選擇檔案
   if("" == fileName) return;
   //讀取檔案,並把QString型別轉化為string
   Mat img = imread(string((const char *)fileName.toLocal8Bit()));
   //顯示圖片
   imshow("imgShow", img);

}

最終程式顯示效果如下:














相關文章