VS Code搭建OpenCV C++环境方法总结

       近来由于工作需要,需要学习OpenCV,OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV出来的时间也很久了,但是相关可以作为学生在线学习的视频比较少,多是利用VS平台使用C++语言的,VS平台安装体积大,不是很方便,于是尝试利用vscode这个软件,从刚接触到熟练安装也花费了不少时间,如果不总结一下,感觉很快就要忘了,于是就有了本人这第一篇博文。

       VScode作为一款代码编辑器,想要运行C++代码,一般均需要在扩展商店里安装排在第一位的C++插件,另外Visual Studio平台软件之所以大,是因为包含了有编译器,Vscode要想运行opencv代码也需要编译器,一般来说这样是要用到MinGW-w64这款编译器。网络上有评价说MinGW-w64 适合初学使用,VS等适合工作生产使用,作为非计算机专业人士,具体内涵我也是不太清楚,但结合着VScode确实也挺方便,文件体积很小。下面就开始安装过程。

       首先列举一下需要的软件: VScode、mingw64、cmake、opencv-3.4.2-vc14_vc15.exe、opencv_contrib-3.4.2.zip     VScode、cmake软件版本号保持最新就行,mingw64需要下载 -posix-seh-这个版本,

VS Code搭建OpenCV C++环境方法总结_第1张图片

最后两个文件是从github上下载的release包,opencv与contrib扩展包的版本号一致即可,上至4.5.5版本安装过程也基本相似。下面的安装过程结合了网络上很多安装经验总结而成,相信能解决很多人的问题。

1、解压opencv、opencv_contrib-3.4.2到相应文件夹。打开remake工具,这一步基本人人都会,就不详细写了

VS Code搭建OpenCV C++环境方法总结_第2张图片

这里主要涉及两个目录的选择,第一行填opencv解压后的sources文件夹,第二行为编译后保存的文件夹,选择后直接点一下左下角的Configure, 弹出框里需要如下设置,选择mingw

VS Code搭建OpenCV C++环境方法总结_第3张图片

 在弹出的编译器选择界面里,需要依次填写mingw文件夹中的编译器,分别是

C  对应  /mingw64/bin/x86_64-w64-mingw32-gcc.exe

C++   对应   /mingw64/bin/x86_64-w64-mingw32-g++.exe

VS Code搭建OpenCV C++环境方法总结_第4张图片

 填完后点击finish,等待即可,这期间需要下载很多必要github上的文件,如果网络不通,就会红字显示错误,如有这样情况,可以到刚才自己设置的保存编译的文件夹中查看CMakeDownloadLog.txt文件,里面会有很多github链接,

VS Code搭建OpenCV C++环境方法总结_第5张图片

 可以将其中missing的链接复制出来到一个txt中,在原链接前加入GitHub Proxy 代理加速 超链接网址,效果如图,然后再用下载工具批量下载,放入相应文件夹内VS Code搭建OpenCV C++环境方法总结_第6张图片

 再点击Configure按钮,直到没有红色报错

2.接下来是关键的设置,如图VS Code搭建OpenCV C++环境方法总结_第7张图片

这里需要设置的很多, 有些需要打勾,有些需要取消打勾,这里的选择决定着你随后编译命令的顺利执行,当然这里的设置我结合了许多的经验,让我从341一直顺利编译到455没有错误,但是也不保证在你的电脑上同样不出错。以下有的设置是为了编译后的简单配置,有的是套用经验,可能有些设置不是必须,取舍看自己。下面是具体的设置。

在上方红色菜单下,以下条目需要勾选

BUILD_EXAMPLES

BUILD_opencv_world

ENABLE_CXX11

WITH_OPENGL

其中若有些条目没有,需要新建一个然后勾,有些本身就勾着,那也就不用管了

以下条目需要取消勾选

CPU_DISPATCH

ENABLE_PRECOMPILED_HEADERS

OPENCV_ENABLE_ALLOCATOR_STATS

WITH_IPP

WITH_MSMF

其中没有的条目也不需要加了

如果需要contrib扩展库的需要在opencv_extra_modules_path这里选择              /opencv_contrib-3.4.2/modules文件夹

如此就配置完了,再次单击Configure按钮,如有出现红字,继续按照刚才所述下载文件,放入对应位置,不再报错后点击Generate,如有报错,继续下载,直至不报错即可VS Code搭建OpenCV C++环境方法总结_第8张图片

 3.生成install文件夹

打开保存的文件夹位置,打开cmd命令提示符,转到该位置,执行minGW32-make -j 6 命令,最后一位数字代表调用的CPU核数,根据电脑配置自行设置,运行完毕后继续运行            minGW32-make install 来导出install文件夹,最终生成的install文件夹就是我们最终需要的编译目录,将该目录复制到其他文件夹后,其他的都可以删除了,接下来就是vscode的配置了。

VS Code搭建OpenCV C++环境方法总结_第9张图片

4.VScode配置

最后用vscode打开一个文件夹,新建一个c++文件,运行一下会自动生成一个.vscode的文件夹,我们需要在其中新建三个文件,分别是c_cpp_properties.json,launch.json,tasks.json

文件中的具体内容如下,文件路径信息可以根据自己的位置修改

//c_cpp_properties.json
{
    "configurations": [
        {
            "name": "win",
            "includePath": [
                "${workspaceFolder}/**",
                "I:/opencv/342/vscode/include",
                "I:/opencv/342/vscode/include/opencv2"
            ],
            "defines": [],
            "compilerPath": "I:/opencv/mingw64/bin/x86_64-w64-mingw32-g++.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "${default}"
        }
    ],
    "version": 4
}

//launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "opencv debuge",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\Debugger\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "console": "externalTerminal",
            "MIMode": "gdb",
            "miDebuggerPath": "I:\\opencv\\mingw64\\bin\\gdb.exe",//自己进行设置
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "opencv342"

        }
    ]
}
//tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "opencv342",
            "command": "I:/opencv/mingw64/bin/x86_64-w64-mingw32-g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${workspaceFolder}\\Debugger\\${fileBasenameNoExtension}.exe",
                //上面这个Debugger是我自己定义的,为了方便放置生成的exe文件
                "I:/opencv/342/vscode/x64/mingw/bin/libopencv_world342.dll",
                "-I",
                "I:/opencv/342/vscode/include",
                "-I",
                "I:/opencv/342/vscode/include/opencv2",
            ],
            "options": {
                "cwd": "I:/opencv/mingw64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "new",
                "showReuseMessage": true,
                "clear": false
            }
        }
    ]
}

       最后这里的  panel需要设为new,这样调试运行时能够新建窗口运行

以上设置完毕后,即可完美使用

VS Code搭建OpenCV C++环境方法总结_第10张图片

你可能感兴趣的:(学习安装,opencv,c++,vscode)