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

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

1、软件和库选择

2、软件安装

2.1 vscode安装

直接点击下载好的vscode安装包安装即可:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 cmake安装

2.2.1 下载cmake对应的zip包

在这里插入图片描述

2.2.2 解压到相应路径

建议放到c盘的Program Files
在这里插入图片描述

2.2.3 配置环境变量

打开我的电脑->属性->高级系统设置->环境变量,增加如下红框所示变量
在这里插入图片描述

2.2.4配置成功的标志

在cmd中输入cmake --version 出现如下情况表示配置成功
在这里插入图片描述

2.3 MinGW安装

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

首先选择下载地址下图所示repo进行下载
在这里插入图片描述
接着将压缩包解压到你自己的盘:
在这里插入图片描述

2.3.2 配置环境变量

打开我的电脑->属性->高级系统设置->环境变量,增加如下红框所示变量
在这里插入图片描述

2.3.3 配置成功的标志

在cmd中输入gcc -v 出现如下情况表示配置成功
在这里插入图片描述

2.4 opencv安装编译

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

2.4.1 下载opencv并进行解压

在这里插入图片描述

2.4.2 cmake编译

2.4.2.1 打开cmake-gui.exe

找到存放cmake的位置,对应找到其中的gui位置
在这里插入图片描述

2.4.2.2 配置cmake基本参数

在where is the source code处配置需要编译的opencv源码位置,在where to build the binaries处配置存放编译后的源码位置,此处我建了一个opencv-4.5.3_x64_build文件夹进行存放。
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
-------------------------------一些troubleshoot方法-----------------------------
这一步配置可能因为网速问题导致有些库下载失败,可以在你生成目录打开CMakeDownloadLog.txt查看具体失败的库,如下所示:
目录
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
在这里插入图片描述
其中ffmpeg_version.cmake的下载可以考虑先保存网页后进行名称后缀的更改

2.4.2.6 点击generate

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

2.4.2.8 环境配置

打开我的电脑->属性->高级系统设置->环境变量,增加如下红框所示变量
在这里插入图片描述

2.4 Eigen下载解压

  • 从第一节所示位置下载如下的Eigen3.4.0版本的tar包
    在这里插入图片描述
  • 解压到某个文件下备用

3、vscode配置并使用

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

在这里插入图片描述

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启动程序后,可以看到如下示例结果:
在这里插入图片描述
到这一步,大功告成,opencv和eigen库可以在vscode中开心的使用了。

参考链接:
CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结
VSCode搭建OpenCV的c++环境(windows10)

  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 你可以通过以下步骤来下载并安装 OpenCV 的 C : 1. 首先,你需要从 OpenCV 的官方网站下载最新版本的 OpenCV C 。 2. 解压下载的文件,并进入解压后的目录。 3. 在终端中输入以下命令来创建一个 build 目录: mkdir build 4. 进入 build 目录,并运行以下命令来生成 Makefile: cd build cmake .. 5. 运行以下命令来编译并安装 OpenCV C : make sudo make install 6. 安装完成后,你可以在你的 C 代码中使用 OpenCV 了。 希望这个回答能够帮助到你。 ### 回答2: 要下载并安装 OpenCV 的 C ,可以按照以下步骤进行操作: 1. 打开 OpenCV 官方网站(https://opencv.org)。 2. 导航到下载页面,找到适用于您操作系统的版本。OpenCV 支持多个平台,如 Windows、Linux、macOS 等。 3. 点击下载链接,开始下载 OpenCV 安装文件。下载可能需要一些时间,取决于您的网络连接速度。 4. 完成下载后,找到下载的文件并解压缩它。您可以使用内置的解压缩工具或第三方工具,如 WinRAR 或 7-Zip。 5. 进入解压缩后的文件夹,您将看到包含 OpenCV 的源代码以及其他相关文件。 6. 打开一个命令提示符或终端窗口,并导航到解压缩后的 OpenCV 文件夹。 7. 在命令提示符或终端窗口中,执行以下命令构建 OpenCV : ``` mkdir build cd build cmake .. make ``` 这些命令将创建一个 build 文件夹,并使用 CMake 构建 OpenCV 。 8. 构建过程可能会需要一些时间,具体取决于您的系统性能。完成后,将生成 OpenCV 文件。 9. 安装 OpenCV ,可以运行以下命令: ``` sudo make install ``` 如果您使用的是 Windows 系统,则应在管理员模式下打开命令提示符。 10. 完成安装后,您可以在代码中使用 OpenCV 。请确保在编译和链接您的 C 代码时包含了正确的头文件和文件路径。 以上是下载和安装 OpenCV C 的基本步骤。请注意,安装的细节可能因操作系统和版本而有所不同,因此建议在下载和安装之前查阅 OpenCV 的官方文档和用户指南以获取更准确和详细的说明。 ### 回答3: 要下载并安装 OpenCV 的 C ,可以按照以下步骤进行: 1. 首先,打开 OpenCV 的官方网站(https://opencv.org/)。 2. 导航到下载页面,找到适合你系统的 OpenCV 版本和操作系统的下载链接。 3. 点击下载链接,将下载的文件保存到本地。下载的文件通常是一个压缩文件,例如tar.gz或zip格式。 4. 解压缩下载的文件,可以使用压缩软件(例如WinRAR或7-Zip)。 5. 解压缩后,你将看到一个名为"opencv"的文件夹。进入该文件夹。 6. 在"opencv"文件夹中,你将找到"CMakeLists.txt"文件。使用文本编辑器或IDE打开该文件。 7. 在"CMakeLists.txt"文件中,修改以下行的内容: - `set(OpenCV_DIR "path_to_opencv")` 将 "path_to_opencv" 替换为你解压缩后的"opencv"文件夹的路径。 - `set(OpenCV_INSTALL_PATH "path_to_install")` 将 "path_to_install" 替换为你想安装 OpenCV 的路径。 8. 保存并关闭"CMakeLists.txt"文件。 9. 打开命令提示符或终端。导航到解压缩后的"opencv"文件夹。 10. 创建一个名为"build"的新文件夹,并导航到该文件夹。 11. 在命令提示符或终端中运行以下命令来生成并编译 OpenCV : - `cmake ..` (注意命令后的空格和两个点) - `make` - `make install` 12. 等待编译和安装过程完成。这可能需要一些时间,取决于你的系统性能和网络连接速度。 13. 完成后,可以在你指定的安装路径中找到已安装OpenCV 。 现在,你已经成功地下载和安装OpenCV 的 C 。可以使用这个来开发计算机视觉项目和应用程序。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小花猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值