WIN10下使用MinGW编译安装运行OpenCV

前言

    网上WINDOWS系统大多是用CMake+VS安装的OpenCV,但是VS写C/C++太麻烦,而且移植性差,于是笔者决定用MinGW64。相关参考链接,该博文同时介绍了编译安装存在的问题,笔者将从简介绍步骤

软件环境

  • windows10-64bit
  • MinGW64-gcc8.1.0
  • CMake 3.15.1
  • OpenCV 4.1.1

安装步骤

 1. 安装CMake+MinGW64

     参考WINDOWS下CMake+MinGW64搭建C/C++编译环境,注意添加系统环境变量

 2. 下载OpenCV

     上官网下载最新发行版的source文件,下载解压会得到一个"opencv-4.1.1",笔者将其改名为"sources",并移动到"D:\Software\Pro\OpenCV_MinGW"文件夹下,并同时新建"build"文件夹。

WIN10下使用MinGW编译安装运行OpenCV_第1张图片

3. 编译OpenCV

    打开 CMake-gui,sources和build文件夹配置如下,然后configure

WIN10下使用MinGW编译安装运行OpenCV_第2张图片

configure一次之后会变成红色,然后勾选WITH_OPENGL和ENABLE_CXX11(OpenCV4之后应该没这个选项),不勾选WITH_IPP、ENABLE_PRECOMPILED_HEADERS和WITH_OPENCL_D3D11_NV,最后configure再generate生成Makefile文件。注意后面安装的头文件和lib文件都会在下图红色线的路径。

WIN10下使用MinGW编译安装运行OpenCV_第3张图片

4. 安装OpenCV

    打开VS Code终端,cd 到D:\Software\Pro\OpenCV_MinGW\build,然后输入"mingw32-make -j 8"回车设置8线程加快安装速度,然后输入"mingw32-make install"回车安装。安装完毕就可以看到"D:\Software\Pro\OpenCV_MinGW\build\install"下如下图

 

WIN10下使用MinGW编译安装运行OpenCV_第4张图片

然后新建Path环境变量”D:\Software\Pro\OpenCV_MinGW\build\install\x64\mingw\bin“。

5. 运行OpenCV实例

   笔者在"C:\Users\JJ_OMEN\Desktop\Projects\test",新建了main.cpp, CMakeLists和build文件夹,并加了名称为"1.jpg"的图片,

WIN10下使用MinGW编译安装运行OpenCV_第5张图片

main.cpp

#include 

#include   
using namespace cv;
using namespace std;
 
int main()
{
	cout << "OpenCV Version: " << CV_VERSION << endl;
	Mat img = imread("../1.jpg");
	imshow("1440", img);
	waitKey(0);
	return 0;
}

CMakeLists.txt

#设置cmake最低版本
cmake_minimum_required(VERSION 3.2)

#设置项目名称
PROJECT(hello)

#寻找OpenCV库
FIND_PACKAGE(OpenCV REQUIRED)
#打印调试信息
#message(STATUS "version: ${OpenCV_VERSION}")
#cmakemessage(STATUS "OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")
#message(STATUS "OpenCV_LIBS = ${OpenCV_LIBS}")
#message(STATUS "PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}")

#包含项目头文件和OpenCV相关头文件路径
INCLUDE_DIRECTORIES(
    ${PROJECT_SOURCE_DIR}
    #${OpenCV_INCLUDE_DIRS}
    #以下路径自行更改
    "D:/Software/Pro/OpenCV_MinGW/build/install/include/opencv2"

)

#设置源文件信息
set(SRC
    ${PROJECT_SOURCE_DIR}/main.cpp
)

#编译可执行程序
ADD_EXECUTABLE(hello ${SRC})

#添加动态链接库
TARGET_LINK_LIBRARIES(hello ${OpenCV_LIBS})

然后在VS Code中CRTL+SHIFT+P输入"c/c++..."找到红色下划线那个

WIN10下使用MinGW编译安装运行OpenCV_第6张图片

 配置如下

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:/Software/Pro/OpenCV_MinGW/build/install/include/opencv2/**",
                "D:/Software/Pro/OpenCV_MinGW/build/install/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\mingw64\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        },
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\mingw64\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

重点改的地方如下 

 

WIN10下使用MinGW编译安装运行OpenCV_第7张图片

也可以进入C/C++ edit configuration (UI)更改,这个自行百度

WIN10下使用MinGW编译安装运行OpenCV_第8张图片

 

以上配置好了之后,在终端cd到"C:\Users\JJ_OMEN\Desktop\Projects\test\build",然后" cmake -G "MinGW Makefiles" ../ "或者"cmake . "生成makefile,然后输入"min" TAB补全"mingw32-make”,然后输入"hello"TAB补全,就可以看到输出结果了。 

 

 

 

 

你可能感兴趣的:(安装配置)