vscode安装配置opencv+eigen库并使用

这篇具有很好参考价值的文章主要介绍了vscode安装配置opencv+eigen库并使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

博主之前都是使用Visual Studio 2017进行c++开发,目前小组开发统一使用vscode 进行开发和维护,因此去踩坑搭建本地的一个vscode开发环境。以下为搭建环境的整个过程记录。

1、软件和库选择

  • vscode 下载地址:vscode下载
  • Cmake-3.26.0-rc3 下载地址:CMake
  • MinGW-W64 GCC-7.3.0,下载地址如下:Mingw64
  • opencv4.5.3 source库 :下载地址如下所示:opencv源码下载地址,如果下载速度慢或者不成功可以从如下地址进行下载:opencv source lab
  • Eigen-3.4.0库,下载地址:Eigen库下载

2、软件安装

2.1 vscode安装

直接点击下载好的vscode安装包安装即可:
vscode安装配置opencv+eigen库并使用
vscode安装配置opencv+eigen库并使用
vscode安装配置opencv+eigen库并使用
vscode安装配置opencv+eigen库并使用
vscode安装配置opencv+eigen库并使用
vscode安装配置opencv+eigen库并使用

2.2 cmake安装

2.2.1 下载cmake对应的zip包

vscode安装配置opencv+eigen库并使用

2.2.2 解压到相应路径

建议放到c盘的Program Files
vscode安装配置opencv+eigen库并使用

2.2.3 配置环境变量

打开我的电脑->属性->高级系统设置->环境变量,增加如下红框所示变量
vscode安装配置opencv+eigen库并使用

2.2.4配置成功的标志

在cmd中输入cmake --version 出现如下情况表示配置成功
vscode安装配置opencv+eigen库并使用

2.3 MinGW安装

2.3.1 下载x86_64-posix-silj并进行解压

首先选择下载地址下图所示repo进行下载
vscode安装配置opencv+eigen库并使用
接着将压缩包解压到你自己的盘:
vscode安装配置opencv+eigen库并使用

2.3.2 配置环境变量

打开我的电脑->属性->高级系统设置->环境变量,增加如下红框所示变量
vscode安装配置opencv+eigen库并使用

2.3.3 配置成功的标志

在cmd中输入gcc -v 出现如下情况表示配置成功
vscode安装配置opencv+eigen库并使用

2.4 opencv安装编译

vscode使用opencv需要先使用cmake进行opencv源码的编译

2.4.1 下载opencv并进行解压

vscode安装配置opencv+eigen库并使用

2.4.2 cmake编译

2.4.2.1 打开cmake-gui.exe

找到存放cmake的位置,对应找到其中的gui位置
vscode安装配置opencv+eigen库并使用

2.4.2.2 配置cmake基本参数

在where is the source code处配置需要编译的opencv源码位置,在where to build the binaries处配置存放编译后的源码位置,此处我建了一个opencv-4.5.3_x64_build文件夹进行存放。
vscode安装配置opencv+eigen库并使用

2.4.2.3 点击configure,选择MinGW Makefiles、Specify native compilers

vscode安装配置opencv+eigen库并使用

2.4.2.4 点击Next,编译器选择,C选择MinGW-w64的bin目录下gcc.exe,C++则选择g++.exe

vscode安装配置opencv+eigen库并使用

2.4.2.5 点击Finish后,程序自动进行配置

vscode安装配置opencv+eigen库并使用
-------------------------------一些troubleshoot方法-----------------------------
这一步配置可能因为网速问题导致有些库下载失败,可以在你生成目录打开CMakeDownloadLog.txt查看具体失败的库,如下所示:
vscode安装配置opencv+eigen库并使用
CMakeDownloadLog.txt下载失败样例如下

#use_cache "D:/chorm-download/opencv-4.5.3/.cache"
#do_copy "opencv_videoio_ffmpeg.dll" "bab661341c30862fa88627130219c0a5" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/213fcd5d4897319a83207406036c4a5957fba010/ffmpeg/opencv_videoio_ffmpeg.dll" "D:/chorm-download/opencv-4.5.3_x64_build/3rdparty/ffmpeg"
#missing "D:/chorm-download/opencv-4.5.3_x64_build/3rdparty/ffmpeg/opencv_videoio_ffmpeg.dll"
# timeout on name lookup is not supported
# Trying 151.101.108.133...
# TCP_NODELAY set
# connect to 151.101.108.133 port 443 failed: Connection refused
# Failed to connect to raw.githubusercontent.com port 443: Connection refused
# Closing connection 0

解决方案:
复制上述txt中对应的dll下载路径,利用迅雷进行下载,并拷贝到opencv的源码的.cache/ffmpeg文件夹下(我的路径为:D:\chorm-download\opencv-4.5.3.cache\ffmpeg),并使用cmd中的命令求取独赢文件的MD5值,使用MD5+文件名称重新命名原文件名称
eg:
原文件名:opencv_videoio_ffmpeg_64.dll
更新后的文件名:
ac99f9767a83103c31709628af685924-opencv_videoio_ffmpeg_64.dll
vscode安装配置opencv+eigen库并使用
其中ffmpeg_version.cmake的下载可以考虑先保存网页后进行名称后缀的更改

2.4.2.6 点击generate

vscode安装配置opencv+eigen库并使用

2.4.2.6 完成后,进入之前自己创建的编译结果存放的文件夹,按住shift再按鼠标右键,选择在此进入powershell窗口。输入MinGW32-make -j4 开始编译,大致要20分钟。

vscode安装配置opencv+eigen库并使用

2.4.2.7 编译完成后,再输入MinGW32-make install进行安装

vscode安装配置opencv+eigen库并使用

2.4.2.8 环境配置

打开我的电脑->属性->高级系统设置->环境变量,增加如下红框所示变量
vscode安装配置opencv+eigen库并使用

2.4 Eigen下载解压

  • 从第一节所示位置下载如下的Eigen3.4.0版本的tar包
    vscode安装配置opencv+eigen库并使用
  • 解压到某个文件下备用

3、vscode配置并使用

3.1 打开vscode软件,在你设定的代码目录下面建立一个.vscode文件夹

vscode安装配置opencv+eigen库并使用

3.2 在.vscode文件夹下面分别建立三个json文件,分别为:c_cpp_properties.json,launch.json,tasks.json。

如下为具体的配置:
c_cpp_properties.json配置如下:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:/personal/vs_project/eigen-3.4.0/**",
                "D:/chorm-download/opencv-4.5.3_x64_build/install/include",
                "D:/chorm-download/opencv-4.5.3_x64_build/install/include/opencv2",
                "D:/chorm-download/opencv-4.5.3_x64_build/install/x64/mingw/lib",
                "D:/personal/vs_project/eigen-3.4.0"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0",
            "compilerPath": "D:\\chorm-download\\mingw64\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

launch.json配置如下:

// https://code.visualstudio.com/docs/cpp/launch-json-reference
{
    "version": "0.2.0",
    "configurations": [
    
    {
        "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
        "type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
        "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
        "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
        "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
        "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
        "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录
        "environment": [], // 环境变量
        "externalConsole": true, // 使用单独的cmd窗口,与其它IDE一致;为false时使用内置终端
        "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
        "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。
        "miDebuggerPath": "D:\\chorm-download\\mingw64\\bin\\gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则不要
        "setupCommands": [
            { // 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": false
            }
        ],
        "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
    }]
}

tasks.json配置如下

// {
//     "version": "2.0.0",
//     "tasks": [
//         {
//             "type": "shell",
//             "label": "g++.exe build active file",
//             "command": "D:\\chorm-download\\mingw64\\bin\\g++.exe",
//             "args": ["-g", 
//             "${file}",
//             "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe",
//             "-I", "D:/chorm-download/opencv-4.5.3_x64_build/install/include",
//             "-I", "D:/chorm-download/opencv-4.5.3_x64_build/install/include/opencv2",
//             "-L",  "D:/chorm-download/opencv-4.5.3_x64_build/install/x64/mingw/lib",
//             "-l","opencv_core453",
//             "-l","opencv_imgproc453",
//             "-l","opencv_imgcodecs453",
//             "-l","opencv_video453",
//             "-l","opencv_ml453",
//             "-l","opencv_highgui453",
//             "-l","opencv_objdetect453",
//             "-l","opencv_flann453",
//             "-l","opencv_imgcodecs453",
//             "-l","opencv_photo453",
//             "-l","opencv_videoio453"],
//             "options": {
//                 "cwd": "D:\\chorm-download\\mingw64\\bin"   
//             },
//             "problemMatcher": [
//                 "$gcc"
//             ],
//             "group": { 
//                 "kind": "build",
//                 "isDefault": true
//             }
//         }
//     ]
// }

// https://code.visualstudio.com/docs/editor/tasks
{
    "version": "2.0.0",
    "tasks": [
        {
        "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
        "command": "D:\\chorm-download\\mingw64\\bin\\g++.exe",   // 要使用的编译器,C++用g++
        "args": [
            "${file}",//当前文件名
            "-o",    // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
            "${fileDirname}/${fileBasenameNoExtension}.exe",
            "-g",    // 生成和调试有关的信息
            "-m64", // 不知为何有时会生成16位应用而无法运行,加上此条可强制生成64位的
            "-Wall", // 开启额外警告
            "-static-libgcc",     // 静态链接libgcc,一般都会加上
            "-finput-charset=UTF-8",
            "-fexec-charset=GBK", // 生成的程序使用GBK编码,不加这条会导致Win下输出中文乱码;繁体系统改成BIG5
            "-std=c++17", // 要用的语言标准,根据自己的需要修改。c++可用c++14
            // 扩展参数
            // -I 头文件目录
            // -L 库文件目录
            // -l 库文件
            "-I", "D:/chorm-download/opencv-4.5.3_x64_build/install/include",
            "-I", "D:/chorm-download/opencv-4.5.3_x64_build/install/include/opencv2",
            "-I","D:/personal/vs_project/eigen-3.4.0",
            "-L",  "D:/chorm-download/opencv-4.5.3_x64_build/install/x64/mingw/lib",
            "-l", "libopencv_calib3d453",
            "-l", "libopencv_core453",
            "-l", "libopencv_dnn453",
            "-l", "libopencv_features2d453",
            "-l", "libopencv_flann453",
            "-l", "libopencv_gapi453",
            "-l", "libopencv_highgui453",
            "-l", "libopencv_imgcodecs453",
            "-l", "libopencv_imgproc453",
            "-l", "libopencv_ml453",
            "-l", "libopencv_objdetect453",
            "-l", "libopencv_photo453",
            "-l", "libopencv_stitching453",
            "-l", "libopencv_video453",
            "-l", "libopencv_videoio453"
            ], // 编译的命令,其实相当于VSC帮你在终端中输了这些东西
        "type": "process", // process是把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
        "group": {
            "kind": "build",
            "isDefault": true // 不为true时ctrl shift B就要手动选择了
        },
        "presentation": {
            "echo": true,
            "reveal": "always", // 执行任务时是否跳转到终端面板,可以为always,silent,never。具体参见VSC的文档
            "focus": false,     // 设为true后可以使执行task时焦点聚集在终端,但对编译C/C++来说,设为true没有意义
            "panel": "shared"   // 不同的文件的编译信息共享一个终端面板
        },
        "problemMatcher":"$gcc" // 捕捉编译时终端里的报错信息到问题面板中,修改代码后需要重新编译才会再次触发
        // 本来有Lint,再开problemMatcher就有双重报错,但MinGW的Lint效果实在太差了;用Clang可以注释掉
    }]
}

3.3 具体应用实例

此处使用一个简单的应用实例,进行opencv以及eigen库的使用情况:
在opencv-demo下面建立一个src文件夹,并新建一个opencv_demo.cpp文件夹,并加入如下c++运行代码.
代码如下:

#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
#include<Eigen/Dense>


using namespace cv;
using Eigen::MatrixXd;
using Eigen::VectorXd;

int main(){
    Mat img = cv::imread("D:/personal/model_and_code/img/adc.png");
    cv::namedWindow("demo",cv::WINDOW_NORMAL);
    cv::imshow("demo", img);

    
    MatrixXd m = MatrixXd::Random(3, 3);
    m = (m + MatrixXd::Constant(3, 3, 1.2)) * 50;
    std::cout << "m =" << std::endl << m << std::endl;
    VectorXd v(3);
    v << 1, 2, 3;
    std::cout << "m * v =" << std::endl << m * v << std::endl;
    cv::waitKey(0);
    system("pause");

    return 0;
}

F5启动程序后,可以看到如下示例结果:
vscode安装配置opencv+eigen库并使用
到这一步,大功告成,opencv和eigen库可以在vscode中开心的使用了。

参考链接:
CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结
VSCode搭建OpenCV的c++环境(windows10)文章来源地址https://www.toymoban.com/news/detail-441179.html

到了这里,关于vscode安装配置opencv+eigen库并使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VS的Eigen和OpenCV环境配置

    首先到官网下载Eigen压缩包 将压缩包解压缩后,在VS中新建一个项目通过 视图-其他窗口-属性管理器 打开属性管理器 在属性管理器的 Debug|x64 中 右键 选择 添加新项目属性表 ,新建属性表,任意命名,这里我命名为OpenCV 双击打开属性表,点击 C/C++ -常规 ,在附加包含目录中

    2024年02月08日
    浏览(45)
  • 全网最简洁安装Eigen库方法(Win端+VScode)

    Eigen是一个用于线性运算的C++ 模板库,支持 矩阵和矢量运算,数值分析及其相关的算法。 快速入门矩阵运算——开源库Eigen 0.前置环境 1.安装Vscode及配置C++基础运行环境 具体安装可参考以下文章 VsCode安装和配置c/c++环境(超完整,小白专用) 1. Eigen库下载 1.1 进入Eigen官网

    2024年02月05日
    浏览(96)
  • Windows VsCode 配置 Eigen 库 - C++矩阵计算库的配置 - 手把手教程

    Eigen是一个用来进行矩阵处理的C++库,除了 C++ 标准库之外,Eigen 不需要其他任何依赖项。 官网 https://eigen.tuxfamily.org 直接点击最新版(当前是3.4.0)对应的zip文件下载即可。 解压后文件目录如下: 其中 Eigen 就是存放要Include的头文件的地方。 最好新建一个文件夹专门用来写Ei

    2023年04月08日
    浏览(40)
  • 【VSCode+python+opencv安装配置】

    在Vscode官网计算机任务来下载客户端或服务器端,然后一路安装即可 在Python官网下载需要的版本,安装时选择将其路径加入系统变量,然后修改镜像源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple,还可以顺便安装yapf(检查代码)+flake8(用于语法美化), 下载对应的

    2024年02月12日
    浏览(45)
  • Linux安装OpenCV并配置VSCode环境

    安装环境 Ubuntu20.04 官方参考网址 OpenCV官网:https://opencv.org/ 官方安装文档参考:https://docs.opencv.org/4.8.0/d7/d9f/tutorial_linux_install.html Opencv Core Modules : OpenCV的核心库模块是OpenCV的主要部分,包含了图像处理和计算机视觉方面的核心功能。 opencv_contrib :OpenCV的附加库,它包含了Ope

    2024年02月03日
    浏览(81)
  • Linux安装OpenCV (C++) 并配置vscode

    郁闷死了。。昨天重装Ubuntu,重写了一份巨详细的Opencv安装说明,结果网页上打开了两个编辑界面,我在一个界面保存了草稿但是没有发布,退出浏览器的时候另一个界面问我是否保存更改,点了确定结果把我之前写的所有东西全部覆盖掉了。。。在线编辑没有版本管理也太

    2024年02月07日
    浏览(70)
  • ubuntu18.04下安装vscode并配置python+opencv

     进入vscode官网 https://code.visualstudio.com/ 下载完之后直接双击下载的包可以直接安装    打开vscode点击拓展然后搜索python点击安装 (我这边已经装过了) 现在打开终端(ctrl+alt+T) 输入python 不出意外会是ubuntu自带的2.7  现在pip install 安装opencv装不到python3.6解释器 现在输入ex

    2024年02月12日
    浏览(55)
  • windows使用vscode配置c++ OpenCV

    路径自己配置都不是必须下载到C盘 1. Visual Studio Code下载官网 Download Visual Studio Code - Mac, Linux, Windows 2. 已编译好的OpenCV下载 版本按需求下载,我这里用的是3.4.1 OpenCV官网是OpenCV的源码(未编译不可直接使用) 3. MinGW-w64下载编译器(GCC的windows版本) 1. MinGW-w64的bin目录 例如: E:c

    2024年02月03日
    浏览(55)
  • 【Eigen】从入门到放弃(一):安装和使用

    Eigen 是C++语言里的一个开源模版库,支持线性代数运算,矩阵和矢量运算,数值分析及其相关的算法。 Eigen适用范围广,支持包括固定大小、任意大小的所有矩阵操作,甚至是稀疏矩阵;支持所有标准的数值类型,并且可以扩展为自定义的数值类型;支持多种矩阵分解及其几

    2024年02月04日
    浏览(54)
  • vscode安装+配置+使用+调试【保姆级教程】

    Visual Studio Code简称VS Code,是一款跨平台的、免费且开源的现代轻量级代码编辑器,支持几乎主流开发语言的语法高亮、智能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段提示、代码对比等特性,也拥有对git的开箱即用的支持。同时,它还支持插件扩展,通过丰富

    2024年02月13日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包