windows下的vscode的opencv 4.2.0环境的搭建

前言:主要本人刚学opencv想要一点点系统的学习下,但是因为疫情买了台二手笔记本只做开发用硬盘比较小,本来是想装vs的但考虑到vs比较大,并且我想以后应用arm做图像方面的比赛,所以就少不了自己搭建环境,就决定用mingw+vscode+cmake来搭建一个opencv4的环境

文件下载链接放在文章的末尾,大家自行下载。

文章目录

    • 一、基本准备
    • 二、步骤
      • 1.环境变量的构建
      • 2.opencv的安装、编译
        • 2.1opencv的安装
        • 2.2opencv的Makefile文件生成
        • 2.3opencv的编译
      • 3.vscode的配置
        • 3.1vscode要安装c++文件,把下面这两个装下来就可
        • 3.2创建.vscode文件夹
        • 3.3.vscode文件配置
          • **c_cpp_properties.json文件**
          • **launch.json文件**
          • **tasks.json文件**
      • 4.测试
    • 总结:

一、基本准备

1.**opencv4.2.0**软件压缩包 提取码(uvp8)

2.下载mingw64编译软件(TDM-GCC 9.2.0) mingw的安装选择(32 and 64 bit)一路next就好。

windows下的vscode的opencv 4.2.0环境的搭建_第1张图片

3.装载**cmake**软件3.9.0 提取码(ilb4)

使用 cmake 时要求安装 python3,并且python 必须配好了环境变量。
在这里插入图片描述
注:将mingwcmake都添加到环境变量中增添环境变量的方法下面会介绍。

二、步骤

1.环境变量的构建

1.右键我的电脑选择属性弹出控制面板

2.选择高级系统设置
windows下的vscode的opencv 4.2.0环境的搭建_第2张图片

3.弹出系统属性的界面,直接选择环境变量

windows下的vscode的opencv 4.2.0环境的搭建_第3张图片
4.选择你用户变量的 path那一项,双击
windows下的vscode的opencv 4.2.0环境的搭建_第4张图片

5.这里弹出编辑环境变量的窗口,点击新建 ,然后点浏览分别找到你装的cmakemingw64的位置下的bin文件夹就可以

windows下的vscode的opencv 4.2.0环境的搭建_第5张图片

2.opencv的安装、编译

2.1opencv的安装

opencv-4.2.0-vc14_vc15.exe 解压到除C盘以外的地方(放在c盘可能cmake编译失败),解压完毕后在opencv的文件夹sources文件夹的旁边创建 空的 Mingw_build文件夹(名字可以随便取),主要是为了放编译后的文件。
windows下的vscode的opencv 4.2.0环境的搭建_第6张图片

2.2opencv的Makefile文件生成

这里就要用到之前装的cmake和mingw64了

<1>右键以管理员的方式打开cmake软件,然后放入相应的参数

第一栏放入你解压出来的opencv中的sources文件夹

第二栏放入你之前创建的存放编译文件的文件夹

点击configure选项就会配置你的编译选项
windows下的vscode的opencv 4.2.0环境的搭建_第7张图片
<2.1>如果你是第一次使用的话会需要配置编译器的类型和makefile的类型

<2.2>选择mingw Makefilesspecify native compilers

windows下的vscode的opencv 4.2.0环境的搭建_第8张图片

<3>点击next,需要我们选择c和c++的编译器,分别选择你之前装的mingw64的bin文件夹中的gccg++ 即可windows下的vscode的opencv 4.2.0环境的搭建_第9张图片
点击finshi等待完成,直到输出窗口看到 Configuring done

<4>选择编译器选项
windows下的vscode的opencv 4.2.0环境的搭建_第10张图片
其中有1个取消勾选的(取消勾选)
在这里插入图片描述
等全部配置完成胡点击Generate等一会出现Generating done 就完成Makefile了。

2.3opencv的编译

前奏:编译之前要在MinGW64的bin的文件夹中加入**libmingwex-0.dll**文件(网上一搜有很多),如果你不加入的话可能会编译失败的。 提取码(l3mm)windows下的vscode的opencv 4.2.0环境的搭建_第11张图片
编译开始:首先打开你的终端,一般cmd就可以(win+r输入cmd)

然后切换到你刚刚生成makefile文件的目录下,输入 mingw32-make等待编译。windows下的vscode的opencv 4.2.0环境的搭建_第12张图片
windows下的vscode的opencv 4.2.0环境的搭建_第13张图片
等待编译完成(大概需要花费30分钟左右)后输入 minGW32-make install完成安装。

3.vscode的配置

3.1vscode要安装c++文件,把下面这两个装下来就可

windows下的vscode的opencv 4.2.0环境的搭建_第14张图片

3.2创建.vscode文件夹

如果你这时直接写一个代码运行时根本行不通的,vscode需要一个 .vscode文件夹 作为它的环境文件。

首先先创建一个只写opencv的c++文件夹。
windows下的vscode的opencv 4.2.0环境的搭建_第15张图片
进入其中创建 .vscode 文件夹,.vscode主要包含三个文件,分别为c_cpp_properties.json文件、launch.json文件和tasks.json文件。
windows下的vscode的opencv 4.2.0环境的搭建_第16张图片

3.3.vscode文件配置
c_cpp_properties.json文件

mingw的位置需要根据你的安装位置自己更改,如果你装了vscode就直接用vscode打开,然后ctrl+F2就可以实现替换。

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "E:/mingw64/include/*",
                "E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/include/c++/*",
                "E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/include/c++/x86_64-w64-mingw32/*",
                "E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/include/c++/backward/*",
                "E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/include/*",
                "E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/include-fixed",
                "E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/include",
                "E:/opencv/opencv/mingw_build/install/include",
                "E:/opencv/opencv/mingw_build/install/include/opencv2"
            ],
            "defines": [],
            "compilerPath":"E:/mingw64/bin/gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64",
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "E:/mingw64/include/**",
                    "E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/include",
                    "E:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/include/c++",                  
                    "E:/opencv/opencv/mingw_build/install/include"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        }
    ],
    "version": 4
}
launch.json文件
{
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
                "type": "cppdbg", // 配置类型,这里只能为cppdbg
                "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
                "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
                "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
                "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
                "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 workspaceRoot已被弃用,现改为workspaceFolder
                "environment": [],
                "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
                "MIMode": "gdb",
                "miDebuggerPath": "E:/mingw64/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
                "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
}
tasks.json文件
{
    "version": "2.0.0",
    "command": "g++",
    "args": ["-g",
        "-fexec-charset=GBK", // 处理mingw中文编码问题
        "-finput-charset=UTF-8",// 处理mingw中文编码问题
        "-std=c++11", 
        "${file}",
        "-o",
        "${fileBasenameNoExtension}.exe",
        "-I", "E:\\opencv\\opencv\\build\\include",
        "-I", "E:\\opencv\\opencv\\build\\include\\opencv2",
        "-I", "E:\\opencv\\opencv\\build\\include\\opencv",
        "-L", "E:\\opencv\\opencv\\Mingw_build\\lib",
        "-l", "opencv_core420",
        "-l", "opencv_imgproc420",
        "-l", "opencv_imgcodecs420",
        "-l", "opencv_video420",
        "-l", "opencv_ml420",
        "-l", "opencv_highgui420",
        "-l", "opencv_objdetect420",
        "-l", "opencv_flann420",
        "-l", "opencv_imgcodecs420",
        "-l", "opencv_photo420",
        "-l", "opencv_videoio420"
        ],    // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    },
    "group": {
        "kind": "build",
        "isDefault": true
    }
}

4.测试

写入测试代码

#include 
#include 
#include 
#include 

using namespace std;


int main()
{
    cout<<"hello opncv4.2.0"<

测试结果:
windows下的vscode的opencv 4.2.0环境的搭建_第17张图片

参考博客:

https://www.cnblogs.com/uestc-mm/p/12758110.html

https://blog.csdn.net/zhaiax672/article/details/88971248

https://blog.huihut.com/2018/07/31/CompiledOpenCVWithMinGW64/

总结:

可能你在搭建的时候会遇到很多问题,有很多可能都是版本不匹配导致的,所以建议大家用本文中我提到的版本,我把文件全部压缩了一份大家自行下载,当然文中的超链接也是可以下载的,要是其中有什么问题欢迎大家指正,注大家都早日成为大佬。

opecv4.2.0+mingw64+cmake3.9.0:https://download.csdn.net/download/weixin_44692694/12644340

你可能感兴趣的:(opencv学习,图像识别)