如題,最近搞了幾天頭都大了,最新版的沒有找到結合前人的例子最終還是弄好了。
所用版本 Windows 10
OpenCV 3.2.0
QT 5.8.0 x64 MSVC 2015
前提條件要安裝有vs2015
第一步:安裝QT 並配置環境變量 (已有詳細教程不再贅述)

第二部:解壓OpenCV
注意:解壓Opencv后 會有兩個文件夾 bulid 和sources,試了很多次都有問題,
解決辦法是將build內容復制到一個新建文件夾下(如下)新建一個文件夾 MSVC_OpenCV

OpenCV3.2.0比較方便的一點就是不需要像之前版本那要需要包涵多個 opencv_*.lib
新建一個Qt Widgets Application 並在*.pro 文件最后追加如下代碼
opencv_world320d表示debug下的lib
opencv_world320表示release下的lib
1 INCLUDEPATH+=D:\MSVC_OpenCV\include 2 D:\MSVC_OpenCV\include\opencv 3 D:\MSVC_OpenCV\include\opencv2 4 5 CONFIG(debug,debug|release) { 6 LIBS += -LD:\MSVC_OpenCV\x64\vc14\lib \ 7 -lopencv_world320d 8 } else { 9 LIBS += -LD:\MSVC_OpenCV\x64\vc14\lib \ 10 -lopencv_world320 11 }
之后在mainwindow.h中添加頭文件
不要忘記在mainwindow.c中添加 using namespace cv;

好了之后在ui界面編輯器下拖入一個pushbutton 添加clicked()事件

對應代碼:
void MainWindow::on_pushButton_clicked() { Mat image; QString fileName = QFileDialog::getOpenFileName(this,tr("Open Image"),".",tr("Image Files (*.png *.jpg *.bmp)")); qDebug()<<"filenames:"<<fileName; //namedWindow(fileName.toStdString(),CV_WINDOW_AUTOSIZE); if (!fileName.isNull()) { image = imread(fileName.toStdString()); if (image.empty()) { namedWindow("can not find image : a"); waitKey(5000); } else { imshow(fileName.toStdString(),image); } } else { qDebug()<<"file is empty"; } }
運行結果如下:

