windows10系统下安装opencv4.7.0+VSCode+(C++)环境搭建

内容

windows10系统下安装opencv4.7.0+VSCode+(C++)环境搭建

写在前面(安装包可去官网下载)

1.VScode最新版
2.Opencv:opencv-4.7.0、opencv_contrib-4.7.0(扩展库,可自选是否安装)
3.MinGW-w64:选择GCCWindows版本
4.c-make工具:最新版,应选择二进制版本
注意

  • (1)以上安装包目录文件中不应包含空格空格和其他非法字符,否则后面会出问题;
  • (2)系统已安装或配置Python和Java对应版本,切记安装路径不能包含空格和其他非法字符;
  • (3)c-make解压至系统盘,放其他盘,后面cmake build可能会报错。

环境搭建过程

1 vscode安装:

打开解压好的vscode,运行code.exe进行安装配置,完成后,打开vscode配置c/c++扩展库(想中文显示面板,可在此查找中文插件,安装)。详细步骤如下:
vscode中安装配置c/c++扩展库

MinGW-w64安装

将其安装包解压后再系统环境变量中添加并保存其bin的Path:如E:\MinGW\bin(避免非法字符)。然后再cmd中输入gcc -version,若如下显示则表示配置成功。
MinGW配置测试

Opencv编译

1.解压c-make包,运行cmake包中bin目录的cmake-gui.exe(如C:\cmake-3.26.0-rc3-windows-x86_64\bin
cmke-gui.exe运行
配置详细过程

  • (1)在"Specify the generator for this project"选择时,应选"MinGW Makefiles",编辑器可根据自己实际情况选择,若无要求,则使用默认编译器;
  • (2)opencv扩展安装:在上述step3执行无误后,在Search中输入extra,并选择扩展路径E:\Microsoft-VS-Code\opencv_contrib-4.7.0。点击configure,配置完成后即可点击generate。
  1. 完成配置后,在自己创建的build文件夹==(用于存放opencv编译结果)==中,按住shift+鼠标右键,进入powershell窗口:
  • (1) 输入 MinGW32-make 开始编译,若缺宝库则会很慢(性能较好的笔记本可用 MinGW32-make -j4 ,多CPU同时编译)。
  • (2)编译完成,输入:MinGW32-make install 进行安装。
  • (3)添加编译后的文件环境变量:E:\Microsoft-VS-Code\opencv-4.7.0_build

vscode配置opencv,并test运行

如图,进行创建vscode代码的存储文件夹、配置json文件夹:
文件配置
对应json文件配置内容如下所示:

  • c_cpp_properties.json
    需配置“includePath” (make生成的文件夹对应位置) 和"compilerPath" (gcc编译器所在位置)
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "E:/Microsoft-VS-Code/opencv-4.7.0_build/install/include",
                "E:/Microsoft-VS-Code/opencv-4.7.0_build/install/include/opencv2"
    
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "E:/MinGW/bin/gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}
  • launch.json
{
        "version": "0.2.0",
        "configurations": [
        {
            "name": "(gdb) Launch", 
            "type": "cppdbg", 
            "request": "launch", 
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe", 
            "args": [], 
            "stopAtEntry": false, 
            "cwd": "${workspaceFolder}", 
            "environment": [], 
            "externalConsole": true, 
            "MIMode": "gdb", 
            "miDebuggerPath": "E:/MinGW/bin/gdb.exe", 
            "setupCommands": [
                { 
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Compile" 
        }
    ]
}
  • Task.json

注意:"command"中g++的配置,如:“E:/MinGW/bin/g++.exe”,以及其他路径的配置。libopencv_core470中的 “470” 表示对应的opencv版本。

{
    "tasks": [
        {
            "label": "Compile",
            "command": "E:/MinGW/bin/g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-m64",
                "-Wall",
                "-static-libgcc",
                "-finput-charset=UTF-8",
                "-fexec-charset=GBK",
                "-std=c++17",
                "-I",
                "E:/Microsoft-VS-Code/opencv-4.7.0_build/install/include",
                "-I",
                "E:/Microsoft-VS-Code/opencv-4.7.0_build/install/include/opencv2",
                "-L",
                "E:/Microsoft-VS-Code/opencv-4.7.0_build/install/x64/mingw/lib",
                "-l",
                "libopencv_calib3d470",
                "-l",
                "libopencv_core470",
                "-l",
                "libopencv_dnn470",
                "-l",
                "libopencv_features2d470",
                "-l",
                "libopencv_flann470",
                "-l",
                "libopencv_gapi470",
                "-l",
                "libopencv_highgui470",
                "-l",
                "libopencv_imgcodecs470",
                "-l",
                "libopencv_imgproc470",
                "-l",
                "libopencv_ml470",
                "-l",
                "libopencv_objdetect470",
                "-l",
                "libopencv_photo470",
                "-l",
                "libopencv_stitching470",
                "-l",
                "libopencv_video470",
                "-l",
                "libopencv_videoio470"
            ],
            "type": "process",
            "problemMatcher": "$gcc",
            "group": "build",
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            }
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "E:\\MinGW\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

代码运行测试

  • demo
#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
using namespace cv;

int main()
{
    Mat img=imread("C:/Users/Administrator/Desktop/test.jpg");
    //Mat resize_img(img);
    Size dsize = Size(round(0.3 * img.cols), round(0.3 * img.rows));//Size型 改变尺寸
    resize(img, img, dsize, 0, 0, INTER_LINEAR); //使用双线性插值缩放一下尺寸
    //resize(img, resize_img, Size(img.cols/7, img.rows/7));
    cv::imshow("test",img);
    cv::waitKey();
    system("pause");
    return 0;
}
  • 在vscode中按F5运行,结果如下:
    在这里插入图片描述
    如上图所示,则表示已完成了相关的安装配置,可进行下一步开发测试。

  • 创作不易,支持原创,感谢大家的支持与理解。若在配置过程中遇到问题,欢迎留言!

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您可以参考以下步骤来配置 VSCode 中的 Opencv4.7.0 环境: 1. 安装 Opencv4.7.0 您可以在官网上下载并安装最新版本的 Opencv4.7.0: https://opencv.org/releases/ 2. 配置环境变量 在系统环境变量中添加 Opencv4.7.0 的安装路径,例如:C:\opencv\build\x64\vc15\bin 3. 在 VSCode安装 C++ 插件 在 VSCode 中搜索并安装官方的 C++ 插件 4. 配置 include 路径和 lib 路径 打开 VSCode 中的工程文件夹后,新建.vscode 文件夹并在其中新建 c_cpp_properties.json 文件,文件内容如下: ``` { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "C:/opencv/build/include" ], "defines": [], "browse": { "path": [ "${workspaceFolder}", "C:/opencv/build/include" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" }, "intelliSenseMode": "windows-msvc-x64", "compileCommands": "${workspaceFolder}/build/compile_commands.json" } ], "version": 4 } ``` 其中,includePath 中的“C:/opencv/build/include”为 Opencv4.7.0 的头文件路径,您可根据实际情况进行修改; 5. 配置 tasks.json 文件 将以下内容添加到.vscode 文件夹下的 tasks.json 文件中: ``` { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": [ "-std=c++11", "${workspaceFolder}/main.cpp", "-o", "${workspaceFolder}/main.exe", "-I", "C:/opencv/build/include", "-L", "C:/opencv/build/x64/vc15/lib", "opencv_world470.lib" ], "group": "build", "presentation": { "reveal": "silent", "panel": "new", "showReuseMessage": false, "clear": true }, "problemMatcher": { "owner": "cpp", "fileLocation": [ "relative", "${workspaceFolder}" ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } } ] } ``` 其中,“C:/opencv/build/x64/vc15/lib”为 Opencv4.7.0 的库文件路径,您可根据实际情况进行修改; 6. 编写 C++ 代码并运行 在 VSCode 中新建 main.cpp 文件并编写 C++ 代码,例如: ``` #include <opencv2/opencv.hpp> using namespace cv; int main() { Mat img = imread("E:/test.jpg", IMREAD_COLOR); imshow("test", img); waitKey(0); return 0; } ``` 然后,按下 Ctrl + Shift + B 组合键,选择“build”任务进行编译和运行,您就可以看到 Opencv4.7.0 的效果了。 希望以上步骤能够帮助到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值