VScode搭建OpenCV环境的详细步骤

目录
  • 安装MinGW-w64
  • 安装CMake
  • 生成MakeFiles
  • 编译Opencv
  • VScode配置

  用vscode来写opencv代码需要自己编译OpenCV,主要用到MinGW-w64和CMake工具。由于可能存在的版本兼容问题,下载这些工具前最好先访问网站:

    https://github.com/huihut/OpenCV-MinGW-Build

  该网站包含了已经编译过的Opencv库,不想自己编译的话可以直接下载(编译过程并不会一帆风顺,需要有折腾的精神)。

  该网站还提供了现成的版本兼容信息,点开Configuration可以看到所对应的MinGW和CMake版本,下载时就可以据此选择合适的MinGW和CMake版本,能减少许多麻烦事。

安装MinGW-w64

  MinGW-w64离线包下载地址:

    https://sourceforge.net/projects/mingw-w64/files/

  在线包下载会很慢,所以可以直接下载离线包(一两分钟搞定)。  

  下载后解压到自选路径。找到下图的文件夹位置:  

  添加该路径到环境变量,如:

    F:\MinGW\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin

  检查安装:

    

  MinGW-w64用处是编译C和C++等程序,vscode不像VS一样本身就具备编译功能,因此需要额外借助MinGW-w64。MinGW-w64+vscode的优点就是轻量级,vscode无论在界面、内存占用和速度等方面都完胜VS。另外自己用gcc来编译程序,可以避免像VS那样生成一大堆文件的情况。单就OpenCV学习来说,我更喜欢使用vscode。

安装CMake

  CMake下载地址:

    https://cmake.org/download/

  要选择二进制文件,即Binary distributions栏目。下载完后解压到自选路径。找到如下文件夹:    

  添加该路径到环境变量,如我的配置:F:\cmake-3.12.4-win64-x64\bin。

  检查安装:

  

  打开cmake-gui,后面编译文件需要用到。

生成MakeFiles

  需要去官网下载OpenCV的sources源文件,如果下载太慢,可以找找百度网盘。这里要编译的是opencv3.4.2+opencv_contrib-3.4.2,分别是内核和插件,后者不要也没关系,只是功能会少。

  在操作cmake-gui前,如果没有翻过墙的话,要先在C:\Windows\System32\drivers\etc\hosts文件最后追加:

    151.101.72.133 raw.githubusercontent.com

  因为cmake-gui会下载一些文件,这些文件都在raw.githubusercontent.com上,如果不修改一下hosts,许多文件很可能会下载失败。

  打开cmake-gui后选择源文件路径和MakeFiles保存路径(自选路径),如图:

  

  点击Configure,弹出窗口配置如下:

  

  要注意下拉框选择的是MinGW,不要看岔了。之后点击Next,选择MinGW文件中编译工具如下,最后点击Finish。

  

  执行过程中消息框会出现一堆红色信息,最后显示Configure done,是正常的。如果执行时中断,则存在其他问题。在执行完后,勾选BUILD_opencv_world,WITH_OPENGL和BUILD_EXAMPLES,不勾选WITH_IPP、WITH_MSMF和ENABLE_PRECOMPILED_HEADERS(如果有的话),CPU_DISPATCH选空。如果要编译opencv_contrib,则需要在OPENCV_EXTRA_MODULES_PATH 把路径选择为解压的opencv_contrib文件中的“modules”文件夹。

  再次点击Configure,这次执行完后仍有错误如下:

  

  也就是说前面虽然修改了hosts,但是有些文件仍然没有成功下载,解决的方法就是手动下载它们。可以用浏览器访问下载链接,或者使用迅雷等下载器进行下载。CMakeDownloadLog.txt文件中列出了所有丢失文件的下载链接,比如:

https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/opencv_ffmpeg.dll

  一个个访问这些链接,下载后放到OpenCV源文件里.cache的相应子文件夹中替代原缓存文件(下载的文件重命名为相应地缓存文件名并删除原缓存文件)。这样从头到尾下载CMakeDownloadLog.txt中列出的所有丢失文件,之后,再次Configure,理论上不会出现红色的错误消息了。然后点击Generate,正常的话会显示非红色的消息Generate Done。

编译Opencv

  CMD到MakeFiles所在文件夹,执行minGW32-make命令,或者使用多线程minGW32-make -j 4命令:  

  如果报错可查阅下面的网址帮助:

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

https://www.jb51.net/article/171256.htm

  一般问题都是可以通过勾选和去勾选解决的,因为之前就Configure过,因此回头再Configure一下花不了太多时间。

  如果同时编译opencv_contrib,可能会报如下错误:

  查阅了一些资料都没有收录该问题,只能去掉扩展库,只编译核心。

VScode配置

  在VScode中安装C/C++扩展,添加以下三个json文件:

  launch.json需要配置miDebuggerPath项。

{

    "version": "0.2.0",
    "configurations": [
        {
            "name": "opencv3.4.2 debuge",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "F:/MinGW/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "opencv3.4.2 compile task"
        }
    ]
}

  c_cpp_properties.json 需要配置compilerPath项和includePath项。

{
    "configurations": [
        {
            "name": "win",
            "includePath": [
                "${workspaceFolder}/**",
                "F:/opencv/opencv3.4.2/build/x64/mingw/install/include",
                "F:/opencv/opencv3.4.2/build/x64/mingw/install/include/opencv2",
                "F:/opencv/opencv3.4.2/build/x64/mingw/install/include/opencv"
            ],
            "defines": [],
            "compilerPath": "F:/MinGW/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

  tasks.json 需要配置command项、args项和options项。

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "opencv3.4.2 compile task",
            "command": "F:/MinGW/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${workspaceFolder}\\${fileBasenameNoExtension}.exe",
                "F:/opencv/opencv3.4.2/build/x64/mingw/install/x64/mingw/bin/libopencv_world342.dll",
                "-I",
                "F:/opencv/opencv3.4.2/build/x64/mingw/install/include",
                "-I",
                "F:/opencv/opencv3.4.2/build/x64/mingw/install/include/opencv",
                "-I",
                "F:/opencv/opencv3.4.2/build/x64/mingw/install/include/opencv2",
            ],
            "options": {
                "cwd": "F:/MinGW/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

  验证程序,Ctrl+Shift+B编译即可生成对应exe文件。

#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
int main()
{
    Mat img=imread("man.jpg");
    imshow("image",img);
    waitKey();
    return 0;
}

到此这篇关于VScode搭建OpenCV环境的文章就介绍到这了,更多相关VScode搭建OpenCV环境内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • win10环境下C++ vs2015编译opencv249的教程

    打开CMake,设置源文件路径,和生成路径,第一步我新建的build和buildwin32 我之前用过了,所以这里我另外建了一个文件夹 test来演示. 然后点击Configure,会出现编译器的选项,Visual studio 14 2015生成win32的解决方案,Visual studio 14 2015 win64生成x64的解决方案.这里只演示前一种. 提示 Configuring done,红色的可选项我没有修改过: 3. 接下里点击Generate,提示Generate done.

  • C++中opencv4.1.0环境配置的详细过程

    准备 Open CV 的文件 : https://opencv.org/releases/ 解压到哪里无所谓,我们后面会把需要的文件复制到 Solution 的目录里面.我本机解压到F:\opencv4.1.0 新建Open CV 的测试工程: 新建一空白的C++工程,设为opencv_test 工程设置为Debug的x64模式 右键单击工程->属性,打开配置的属性页 在VC++目录中添加包含目录: F:\opencv4.1.0\build\include;F:\opencv4.1.0\buil

  • VScode搭建OpenCV环境的详细步骤

    目录 安装MinGW-w64 安装CMake 生成MakeFiles 编译Opencv VScode配置 用vscode来写opencv代码需要自己编译OpenCV,主要用到MinGW-w64和CMake工具.由于可能存在的版本兼容问题,下载这些工具前最好先访问网站: https://github.com/huihut/OpenCV-MinGW-Build 该网站包含了已经编译过的Opencv库,不想自己编译的话可以直接下载(编译过程并不会一帆风顺,需要有折腾的精神). 该网站还提供了现成的版本

  • 标准版Eclipse搭建PHP环境的详细步骤

    一.下载Eclipse的PHP插件 百度搜索phpeclipse,看到某条结果是带有SourceForge.net字样的,点进去,找到Download按钮,点击之后,等待5秒就会开始下载了. 二.安装Eclipse的PHP插件 插件下载完成之后,解压,然后把site.xml删掉(大部分插件不用删这个文件,但是PHPEclipse必须删),最后把整个文件夹复制到Eclipse的dropins文件夹里面,重启Eclipse即可. 三.在Eclipse新建PHP工程和新建PHP文件 在插件安装成功的前

  • 如何搭建pytorch环境的方法步骤

    1.conda创建虚拟环境pytorch_gpu conda create -n pytorch_gpu python=3.6 创建虚拟环境还是相对较快的,它会自动为本环境安装一些基本的库,等待时间无需很长,成功之后界面如下所示: 2.切换到pytorch环境 使用如下命令,切换到我们刚刚创建好的pytorch虚拟环境,这样我们避免与其它python环境之间的干扰. conda activeta pytorch_gpu 切换成功之后就会看到在路径前边显示我们已经进入该虚拟环境. 3.安装几个常用

  • VSCode配置C++环境的方法步骤(MSVC)

     最近心血来潮,想用一下微软的VSCode写一下C++,然而第一步就卡住了,竟然不会配置C++环境,陆陆续续搞了两天,总算是弄明白了,网上msvc教程比较少,就打算分享出来,也记录下自己的历程.  先说说我的理解吧,Visual Studio Code和visual studio不同,后者是属于IDE是个集成开发环境,下载好基本就能直接用来写C++等:  而Visual Studio Code(以下简称VSC)是一个编辑器,简单来说和windows电脑上的那个看.txt文件的记事本一个类别,然而

  • vue相关配置文件详解及多环境配置详细步骤

    1.package.json 作用: package.json 文件其实就是对项目或者模块包的描述,里面包含许多元信息.比如项目名称,项目版本,项目执行入口文件,项目贡献者等等.npm install 命令会根据这个文件下载所有依赖模块. 文件结构如下: { "name": "sop-vue", "version": "0.1.0", "author": "zhangsan <zhangsa

  • ubuntu 20.04上搭建LNMP环境的方法步骤

    简单说明 由于之前是用Centos7搭建的,后来使用ubuntu 20.04的系统做为个人开发环境,所以想在ubuntu上也搭建一下环境,和Centos有一些小区别所以记录一下仅供学习. 安装前准备 下载软件: php:7.3.18 nginx:1.18.0 mariadb:10.5.4 解压文件: tar zxf php-7.3.18.tar.gz tar zxf mariadb-10.5.4.tar.gz tar zxf nginx-1.18.0.tar.gz 安装Nginx sudo gr

  • IDEA+Maven搭建Spring环境的详细教程

    1. Spring简介 Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架. 2. Spring的优势 1.方便解耦, 简化开发: 通过Spring提供的IOC容器, 可以将对象间的依赖关系交由Spring进行控制, 避免硬编码所造成的过度耦合. 2.AOP编程的支持: 通过AOP功能方便进行面向切面编程, 许多不容易用传统OOP实现的功能可以通过AOP轻松实现. 3.声明式事物编程: 通过声明方式灵活的进行事务管理, 提高开发效率和质量. 4.方便程序测试: 可以用非容器

  • Python和Pycharm 环境部署详细步骤

    一.python下载安装 下载安装python最新版本 https://www.python.org/downloads/windows/ 这里勾选添加到环境变量 cmd中运行一下看是否安装成功 二.pycharm安装 下载安装社区免费版本 下载:https://www.jetbrains.com/pycharm/ 安装 更改安装路径 看自己需求勾选,相关解释如下 (1)创建快捷方式:根据你当前系统是32位还是64位进行选择: (2)将 pycharm 的启动目录添加到环境变量(需要重启),如果

  • Centos7.9搭建自主邮件服务器详细步骤

    目录 前言 一 配置内网dns A记录和MX记录 二 mail服务器初始化配置 1. 修改主机名 2. 关闭防火墙与selinux 3. 开启时间同步 4. 安装软件 三 修改配置文件 1 配置postfix 2 配置dovecot 2.1 配置监听协议: 2.2 配置登录方式: 2.3 配置邮件存储位置: 2.4 配置ssl(关闭): 3 配置sasl2 3.1 配置系统认证: 3.2 配置登录方式: 4 启动服务: 5 创建用户并设置pass 6 配置mailx: 四 发送邮件测试 1 命令

  • 使用VirtualBox和Vagrant搭建Linux环境的方法步骤

    目录 一.确定电脑的CPU开启CPU虚拟化 二.下载VirturalBox并完成安装 三.下载Vagrant并完成安装,并且电脑要重启 四.在cmd中运行:vagrant 五.修改VirtualBox全局下载位置 六.生成Vagrantfile文件 七.下载并安装运行虚拟机 八.cmd中输入vagrant ssh 连接虚拟机 九.设置IP地址 一.确定电脑的CPU开启CPU虚拟化 1.电脑CPU一般都会默认被虚拟化,如下图所示: 2.如果未被虚拟化,需进入BISO界面打开CPU虚拟化 二.下载V

随机推荐