2024:VsCode中配置opencv(C++)

  最近在配置opencv,在网上找了很多帖子,但是可能因为版本不正确,导致库导入失败。所以自己写一个成功的案例。

我是参考这个博主配置的VScode搭建Opencv(C++开发环境)_vscode opencv-CSDN博客

一、软件版本

MinGw:版本:8.1.0-release-posix-seh-rt_v6-rev0

Cmake:版本:3.29.3

Opencv:版本:4.5.3

二、软件下载

我都放在我的百度网盘里面了:

链接:https://pan.baidu.com/s/1NaEKEUMmZYQjgg4zZ2nUmA 
提取码:2560 
--来自百度网盘超级会员V4的分享

1.MinGw下载

添加环境变量。我这里MinGw的位置是:C:/Mingw
所以我们添加的环境变量是:C:/Mingw/bin

然后直接点击确定,确定完之后再查看终端


win+R ,输入cmd,调出 cmd命令窗口。
输入: gcc -v

出现以下内容就配置好了

2.下载Cmake

我将Cmake安装在了C盘,所以添加环境变量:C:/cmake/bin

win+R,调出终端,输入 cmake -version

3.opencv下载

我百度网盘的安装包是windows版本的,有版本要求的去官网下载适配版本的​​​​​​Releases - OpenCV

直接安装,我装在C盘

三.编译

1.新建编译文件夹:注意路径

找到cmake-gui软件:C:/cmake/bin/cmake-gui

2.选择指定的源文件和编译的文件夹

然后点击Configure

C的路径选择:"C:\Mingw\mingw64\bin\gcc.exe"

C++的路径选择:"C:\Mingw\mingw64\bin\g++.exe"

这里可能会出现很多红色的文件,勾选BUILD_opencv_world,WITH_OPENGL和BUILD_EXAMPLES

不勾选WITH_IPP、WITH_MSMF和ENABLE_PRECOMPILED_HEADERS

然后继续Configure,点击Generate直到完全编译完成,没有爆红文件

3.进入到这个文件夹路径,在终端中打开:输入minGW32-make -j 8

4.加入环境变量:

四、Vscode配置

代码我都放在这里了:这里读取了一张苹果的图片

1.main.cpp

#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    // 读取图像
    cv::Mat image = cv::imread("pingguo.jpg");

    // 检查图像是否加载成功
    if(image.empty()) {
        std::cerr << "无法打开或找到图像!" << std::endl;
        return -1;
    }

    // 显示原图和灰度图
    cv::imshow("原图", image);


    // 等待用户按下任意键
    cv::waitKey(0);

    return 0;
}

2.launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "OpenCV Debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/Debugger/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/Mingw/mingw64/bin/gdb.exe",//根据自己的目录修改
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "opencv4.5.3"
        }
    ]
}

3.c_cpp_properties.json

{
    "configurations": [
        {
            "name": "win",
            "includePath": [
                "${workspaceFolder}/**",
                "C:/opencv/build/x64/cv/install/include",//根据自己的目录修改
                "C:/opencv/build/x64/cv/install/include/opencv2"//根据自己的目录修改
            ],
            "defines": [],
            "compilerPath": "C:\\Mingw\\mingw64\\bin\\g++.exe",//根据自己的目录修改
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "${default}"
        }
    ],
    "version": 4
}

4.tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "opencv4.5.3",
            "command": "C:/Mingw/mingw64/bin/g++.exe",//根据自己的目录修改
            "args": [
                "-g",
                "${file}",
                "-o",
                "${workspaceFolder}\\Debugger\\${fileBasenameNoExtension}.exe",
                "-I",
                "C:/opencv/build/x64/cv/install/include",  // //根据自己的目录修改
                "-L",
                "C:/opencv/build/x64/cv/bin",  // //根据自己的目录修改
                "-lopencv_world453"  // //根据自己的目录修改
            ],
            "options": {
                "cwd": "C:/Mingw/mingw64/bin"//根据自己的目录修改
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Using OpenCV 4.5.3"
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "C:/Mingw/mingw64/bin/g++.exe",//根据自己的目录修改
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": false
            },
            "detail": "调试器生成的任务。"
        }
    ]
}

这个文件夹我也打包放在网盘里了,需要自取

链接:https://pan.baidu.com/s/1nmXklh2RPS5rgqnyqKfxTw 
提取码:2560 
--来自百度网盘超级会员V4的分享

### 如何在 VSCode配置 OpenCV 进行 C++ 开发 #### 准备工作 为了成功配置 OpenCV 的开发环境,在开始之前需确认已安装必要的软件包。这包括但不限于 Visual Studio Build Tools 或者完整的 Visual Studio IDE,以及 Git 工具用于克隆仓库[^1]。 #### 下载并解压 OpenCV 源码 前往官方提供的链接下载最新版的 OpenCV 和额外模块(如果需要),并将它们分别解压缩到指定文件夹内[^2]。 #### 使用 CMake 编译 OpenCV 库 启动命令提示符或 PowerShell 并导航至存放有 OpenCV 解压后的目录位置;创建一个新的构建子目录来放置生成的结果文件;接着运行 `cmake` 命令完成编译过程。具体操作如下所示: ```bash mkdir build && cd build cmake .. ``` 对于 Windows 用户来说,建议采用 MinGW Makefiles 或 NMake Makefiles 作为生成器参数传递给 cmake 来加快速度: ```bash cmake .. -G "MinGW Makefiles" mingw32-make install ``` 或者利用 MSBuild 构建系统配合 Visual Studio Generator : ```batchfile cmake.exe -DCMAKE_BUILD_TYPE=Release ^ -DBUILD_SHARED_LIBS=OFF ^ -DOPENCV_EXTRA_MODULES_PATH=<path_to_opencv_contrib>/modules ^ -DCMAKE_INSTALL_PREFIX=C:/lib/opencv/build/install ^ ../source_code_directory/ msbuild INSTALL.vcxproj /p:Configuration=Release ``` 以上步骤会将编译好的静态库复制到设定的目标路径下以便后续引用。 #### 设置 VS Code 环境变量与扩展插件 打开编辑器后先安装 Microsoft 提供的 C/C++ 扩展支持语法高亮等功能;随后修改 workspace settings.json 文件加入 includePath 字段指向本地 openCV 头文件所在的位置,并设置 IntelliSenseMode 参数为 windows-msvc-x64 。例如: ```json { "configurations": [ { ... "includePath":[ "${workspaceFolder}/**", "C:\\lib\\opencv\\build\\install\\include" ], "intelliSenseMode":"windows-msvc-x64" } ] } ``` 另外还需调整 launch.json 添加调试选项以加载正确的 DLL 路径: ```json { "version": "0.2.0", "configurations": [ { ..., "environment": [{"name": "PATH", "value": ";${env:PATH};C:\\lib\\opencv\\build\\x64\\vc15\\bin"}], ... } ] } ``` 最后记得更新 c_cpp_properties.json ,确保可以找到所有依赖项头文件和库文件[^3]。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值