OpenCV:Windows10下安裝OpenCV3.1+CMake3.13.4+QT5.11.3+MingGW5.3.0

軟件平臺:Windows 10CMake 3.13.4Qt 5.11.3

下載opencv項目

下載Windows版本的OpenCV-3.1.0:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.1.0/opencv-3.1.0.exe/download
在這裏插入圖片描述下載的文件爲:opencv-3.1.0.exe,其是一個壓縮文件,雙擊之,將其解壓至一個選定的文件夾中。如下爲項目的文件結構,其中,一個爲build文件夾,一個爲sources文件夾,build爲一個標準的項目構建目錄,它適用於一般的情況。而如果build不適用時,可選擇編譯sources中的源代碼,以生成一個適合自己系統使用的,和build類似的構建目錄。
在這裏插入圖片描述
本系統將使用的,用於編譯項目的Qt編譯套件爲:Qt 5.11.3 MinGW 5.3.0 32bit,爲了顧名思義,在與build的同路徑中,新建一個構建目錄mingw530,以存儲相關的編譯文件和安裝文件。
在這裏插入圖片描述
使用CMake工具對opencv項目進行構建與分析

由於OpenCV是一個cmake項目,所以要編譯OpenCV源碼,需要先安裝cmake工具。在安裝了cmake工具後,可通過如下的步驟,對opencv項目進行構建與分析

打開CMake(cmake-gui)

選定源代碼路徑和構建目錄路徑

第一行爲源代碼路徑,選擇..\opencv\sources文件夾,本系統的爲:D:\Software\opencv\sources
第二行爲項目構建目錄,此目錄存儲了cmake、make和install輸出的相關文件,路徑位置可自選,本系統的爲:D:\Software\opencv\mingw530
在這裏插入圖片描述
選定源代碼路徑和構建目錄路徑後,點擊Configure,以配置項目

選擇MinGW MakefilesSpecify native compilers,並點擊Next
在這裏插入圖片描述
爲項目選擇代碼編譯器,此處將選擇Qt中Tools下Qt 5.11.3 MinGW 5.3.0 32bit編譯套件中的C/C++編譯器。本系統的C/C++編譯器路徑爲:C編譯器:D:/Software/Qt/Qt5.11.3/Tools/mingw530_32/bin/gcc.exe,C++編譯器:D:/Software/Qt/Qt5.11.3/Tools/mingw530_32/bin/g++.exe,具體的路徑可根據Qt安裝路徑修改。點擊Finish
在這裏插入圖片描述
等待一會,待Configure完後,在輸出的cmake選項中,選擇WITH_QTWITH_OPENGL,然後,再一次點擊Configure進行項目配置。

配置結束後,點擊Generate,以生成用於編譯的相關文件。待ConfigureGenerate這兩步完成後,關閉掉CMake(cmake-gui)界面,然後開始對項目進行編譯與安裝。

編譯與安裝

本系統將使用Qt 5.11.3 MinGW 5.3.0 32bit編譯套件編譯與安裝opencv項目,其編譯和安裝命令分別爲:mingw32-makemingw32-make install

定位

# 打開命令行窗口,並定位至項目的構建目錄
# 本系統的在:D:\Software\opencv\mingw530
cd d:
cd Software/opencv/mingw530

編譯

mingw32-make

安裝

# 項目的安裝目錄默認在構建目錄下的install文件夾中
# 本系統的在:D:/Software/opencvmingw530/install
mingw32-make install

配置環境變量

在系統環境變量Path中加入:D:\Software\opencv\mingw530\install\x86\mingw\bin;D:\Software\opencv\mingw530\bin;

如此,對opencv的編譯、安裝與配置就完成了!

如下爲構建目錄mingw530的文件結構,其中,文件夾install就存儲了我們以後將要使用的相關安裝文件
在這裏插入圖片描述打開項目的安裝文件夾install,如下爲install的文件結構,其中,include中包含的是項目頭文件,x86中包含的是項目庫文件
在這裏插入圖片描述
要在程序中使用opencv,只要在項目中添加相關頭文件與庫文件即可,如下即爲opencv項目的相關頭文件與庫文件
在這裏插入圖片描述
在這裏插入圖片描述
要在Qt項目中使用opencv,需要在項目的項目管理文件.pro中,添加以下代碼,以完成往程序中添加相關頭文件與庫文件的操作(這些代碼包含了opencv項目的所有頭文件與庫文件)

# 添加opencv項目的所有頭文件
INCLUDEPATH += D:\Software\opencv\mingw530\install\include \
               D:\Software\opencv\mingw530\install\include\opencv \
               D:\Software\opencv\mingw530\install\include\opencv2
               
# 添加opencv項目的所有庫文件
LIBS += D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_calib3d310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_core310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_features2d310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_flann310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_highgui310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_imgcodecs310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_imgproc310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_ml310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_objdetect310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_photo310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_shape310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_stitching310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_superres310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_ts310.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_video310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_videoio310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_videostab310.dll.a

測試opencv

新建一個Qt控制檯應用:test

新建文件或項目–>Application–>Qt Console Application–>項目名稱:test–>一路next下去

測試項目的結構

./test
   |
   +---build
   |
   +---images
   |      |
   |      +---1.jpg
   |
   +---main.cpp
   |
   +---test.pro
   |
   +---test.pro.user

代碼清單:main.cpp

#include<iostream>
#include<string>

#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
  cv::Mat img;
  //根據圖像的目錄進行修改,記得用轉義字符'\\'
  string filePath="..\\images\\1.jpg";
  img =cv::imread(filePath,IMREAD_COLOR);

  //判斷圖像文件是否正確讀取
  if(img.data==nullptr)
  {
    cerr<<"文件:"<<filePath<<",不存在!"<<endl;
    return 0;
  }

  //讀取圖像的寬、高和通道信息
  cout<<"圖像寬爲:"<<img.cols<<",";
  cout<<"高爲:"<<img.rows<<",";
  cout<<"通道爲:"<<img.channels()<<endl;

  cv::namedWindow("An image",WINDOW_NORMAL);
  cv::resizeWindow("An image",800,450);
  cv::imshow("An image",img);

  cv::waitKey(0);

  return 0;
}

往項目的項目管理文件test.pro中添加以下的opencv頭文件與庫文件包含代碼,這些包含代碼可根據opencv項目安裝情況的不同而做出相應的修改

INCLUDEPATH += D:\Software\opencv\mingw530\install\include \
               D:\Software\opencv\mingw530\install\include\opencv \
               D:\Software\opencv\mingw530\install\include\opencv2

LIBS += D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_calib3d310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_core310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_features2d310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_flann310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_highgui310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_imgcodecs310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_imgproc310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_ml310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_objdetect310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_photo310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_shape310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_stitching310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_superres310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_ts310.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_video310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_videoio310.dll.a \
        D:\Software\opencv\mingw530\install\x86\mingw\lib\libopencv_videostab310.dll.a

程序的運行結果
在這裏插入圖片描述
參考文檔

windows10下安裝opencv3.2+QT Creator+MingGW:https://blog.csdn.net/a8039974/article/details/80572806

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章