vscode OpenCV环境搭建

cmake

官网https://cmake.org/files/

环境变量D:\Program Files\CMake\bin

w64devkit

官网https://github.com/skeeto/w64devkit/tags

环境变量D:\Program Files\w64devkit\bin

minGW32-make 拷贝并重命名为make

OpenCV

在执行完后,把关于python的都给取消勾选。勾选BUILD_opencv_world,WITH_OPENGL和BUILD_EXAMPLES,不勾选WITH_IPP、WITH_MSMF和ENABLE_PRECOMPILED_HEADERS(如果有的话),CPU_DISPATCH选空。

make -j 4

make install

环境变量D:\repocpp\opencv\build\x64\mingw\bin

vscode配置和测试

打开vscode按Ctrl+Shift+p,点击"C/C++:Edit Configurations(JSON)"就可以生成.vscode文件夹

launch.json

cpp 复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Program Files\\w64devkit\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

c_cpp_properties.json

cpp 复制代码
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:\\repocpp\\opencv\\build\\x64\\mingw\\install\\include",
                "D:\\repocpp\\opencv\\build\\x64\\mingw\\install\\include\\opencv2"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "${default}"
        }
    ],
    "version": 4
}

tasks.json

cpp 复制代码
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "D:\\Program Files\\w64devkit\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-I",
                "D:\\repocpp\\opencv\\build\\x64\\mingw\\install\\include",
                "-I",
                "D:\\repocpp\\opencv\\build\\x64\\mingw\\install\\include\\opencv2",
                "-L",
                "D:\\repocpp\\opencv\\build\\x64\\mingw\\install\\x64\\mingw\\lib",
                "-llibopencv_world455"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "调试器生成的任务。"
        },
    ],
    "version": "2.0.0"
}

测试

拷贝opencv_videoio_ffmpeg455_64.dll,libopencv_world455.dll到项目根目录,文件所在目录D:\repocpp\opencv\build\x64\mingw\install\x64\mingw\bin

cpp 复制代码
 
#include <opencv2/opencv.hpp>
#include <iostream>
 
using namespace cv;
using namespace std;
 
int main()
{
    VideoCapture cap(0);
    Mat img;
 
    while (1)
    {
        cap >> img;
        if (img.empty())
            break;
        namedWindow("img", WINDOW_NORMAL);
        imshow("img", img);
        if (27 == waitKey(20))
            break;
    }
 
    return 0;
}
 
相关推荐
Android小码家1 小时前
Vscode + docker + qt 网络监听小工具
vscode·qt·docker
中国胖子风清扬1 小时前
Rust 序列化技术全解析:从基础到实战
开发语言·c++·spring boot·vscode·后端·中间件·rust
susu10830189115 小时前
如何选择文件夹然后用vscode直接打开
ide·vscode·编辑器
非得登录才能看吗?5 小时前
开发环境 之 编辑器、编译器、IDE梳理
ide·编辑器
人生游戏牛马NPC1号7 小时前
学习 Android (二十) 学习 OpenCV (五)
android·opencv·学习
notfindjob7 小时前
Opencv C++ 教程-人脸识别
c++·opencv·计算机视觉
极客智造7 小时前
OpenCV C++ 核心:Mat 与像素操作全解析
c++·人工智能·opencv
劳尔的狙击镜7 小时前
CT影像寻找皮肤轮廓预处理
python·opencv·findcontours·ct·皮肤轮廓·皮肤表皮建模·医学影像处理
极客智造7 小时前
OpenCV C++ 色彩空间详解:转换、应用与 LUT 技术
c++·人工智能·opencv
湫兮之风7 小时前
OpenCV: cv::warpAffine()逆仿射变换详解
人工智能·opencv·计算机视觉