当前位置: 首页 > news >正文

Windows下VScode快速配置OpenCV开发环境 【快乐篇】

1.前言

由于业务需要本人通过vscode快速迭代配置了一版OpenCV的开发环境,因为要快所以直接用大佬们构建好的openCV就行。本人这里是64位的Window11下配置的。

2.前置工具

vscode IDE工具

3.安装VScode插件

  1. C/C++
  2. C/C++ Extension Pack
  3. C/C++ Themes
  4. CMake
  5. CMake Tools

4.配置需要的OpenCV,Mingw,CMake等三个环境变量配置

4.1选择OpenCV-4.5.2-x64 | zip | tar.gz版本

github地址:GitHub - huihut/OpenCV-MinGW-Build: 👀 MinGW 32bit and 64bit version of OpenCV compiled on Windows. Including OpenCV

4.2 安装MinGW-x86_64-8.1.0-posix-seh-rt_v6-rev0

官方下载地址:MinGW-x86_64-8.1.0-posix-seh-rt_v6-rev0

4.3.安装配置CMake-3.18.4

github地址:Releases · Kitware/CMake · GitHub

4.2 将压缩包统一解压到D:/Operating-Environment/目录下,其他环境配置同理


5.VScode中运行程序

5.1 示例代码main.cpp和图片:

#include <iostream>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main() {string imagePath = "./test.png"; // 确保路径正确cout << "Loading image from: " << imagePath << endl;Mat image = imread(imagePath);if (image.empty()) {cerr << "Error: Could not open or find the image at " << imagePath << endl;return -1;}imshow("Display Image", image);waitKey(0);return 0;
}

5.2 配置c_cpp_properties.json

5.2.1按F1选中C/C++配置项

5.2.1修改C/C++配置

5.2.2 C/C++配置代码json
{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","D:\\Operating-Environment\\mingw64\\include"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "D:/Operating-Environment/mingw64/bin/g++.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"}],"version": 4
}

5.3 配置tasks.json

5.3.1按F1选中Tasks:Configure Default Build Task

5.3.2 将创建的模板替换成下面那个,环境路径要对应自己的
{"version": "2.0.0","tasks": [{"type": "shell","label": "debug","command": "D:/Operating-Environment/mingw64/bin/g++.exe","args": ["-fdiagnostics-color=always","-g","${file}","-I", "D:/Operating-Environment/OpenCV-MinGW-Build-OpenCV-4.5.2-x64/include",  // 包含路径   头文件   编译的时候到这个路径下找头文件  编译审生成可重定位文件"-L", "D:/Operating-Environment/OpenCV-MinGW-Build-OpenCV-4.5.2-x64/x64/mingw/bin", // 库路径   动态链接库地址,可执行文件运行起来需要这些库提供的机器码// "-l","libopencv_world4100",           // 链接需要使用这些dll作为可重定位文件"-l","libopencv_calib3d452","-l","libopencv_photo452","-l","libopencv_core452","-l","libopencv_stitching452","-l","libopencv_dnn452","-l","libopencv_video452","-l","libopencv_features2d452","-l","libopencv_videoio452","-l","libopencv_flann452","-l","libopencv_gapi452","-l","libopencv_highgui452","-l","libopencv_imgcodecs452","-l","libopencv_imgproc452","-l","libopencv_ml452","-l","opencv_videoio_ffmpeg452_64","-l","libopencv_objdetect452","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "D:/Operating-Environment/mingw64/bin"},"problemMatcher": ["$gcc"],"group": {"kind": "test","isDefault": true},"detail": "compiler: D:/Operating-Environment/mingw64/bin/g++.exe"}]
}

5.4 配置launch.json

5.4.1 选择run下面的 start Debugging创建launch.json模板

5.4.1 在默认生成的模板替换成我的

{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) Launch",// "preLaunchTask": "g++.exe build active file",//调试前执行的任务,就是之前配置的tasks.json中的label字段"preLaunchTask": "debug","type": "cppdbg",//配置类型,只能为cppdbg// "label": "C/C++: g++.exe build active file","request": "launch",//请求配置类型,可以为launch(启动)或attach(附加)"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称"args": [],//调试传递参数// "args": ["/F","${fileDirname}\\${fileBasenameNoExtension}.exe","&","pause"],//调试传递参数// "stopAtEntry": false,"stopAtEntry": false,// "cwd": "${workspaceFolder}","cwd": "${fileDirname}","environment": [],// "externalConsole": true,//true显示外置的控制台窗口,false显示内置终端"externalConsole": false,//true显示外置的控制台窗口,false显示内置终端"MIMode": "gdb","miDebuggerPath": "D:/Operating-Environment/mingw64/bin/gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],// "preLaunchTask": "g++.exe build active file",// "internalConsoleOptions": "neverOpen"// "preLaunchTask": "build",  // Ensure build task runs before launch"internalConsoleOptions": "neverOpen"}]
}
5.4.1 点击运行就行

5.5 运行结果(真好看)

6.结语

自此结束了,累死我了,用了一天的时间进行配置。原图就送你们了。

相关文章:

  • Pytorch 学习手册
  • LeetCode 面试经典150题 69.x的平方根
  • SpringBoot整合JPA 基础使用
  • [网络]NAT、代理服务、内网穿透、内网打洞
  • Python3自带HTTP服务:轻松开启与后台管理
  • unicode编码和ascii编码的区别
  • EasyCVR全方位安全守护智慧电厂:构建高效视频监控系统优势分析
  • Git大框架总结
  • 公交IC卡收单管理系统 多处 SQL注入致RCE漏洞复现
  • 15 数组——15. 三数之和 ★★
  • 抽象类、比较器和接口
  • 基于Java+VUE+echarts大数据智能道路交通信息统计分析管理系统的设计与实现
  • 在Ubuntu 16.04上安装最新版本的MySQL的方法
  • 基于单片机8路数字电压表电压采集系统
  • 服务器开通个人账户
  • 08.Android之View事件问题
  • CEF与代理
  • create-react-app做的留言板
  • ES6 ...操作符
  • HTTP 简介
  • Java的Interrupt与线程中断
  • js中forEach回调同异步问题
  • nginx 负载服务器优化
  • React-redux的原理以及使用
  • Swoft 源码剖析 - 代码自动更新机制
  • 如何合理的规划jvm性能调优
  • 深入浅出webpack学习(1)--核心概念
  • 用quicker-worker.js轻松跑一个大数据遍历
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ###C语言程序设计-----C语言学习(6)#
  • #每天一道面试题# 什么是MySQL的回表查询
  • (Java数据结构)ArrayList
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (分布式缓存)Redis哨兵
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (七)Java对象在Hibernate持久化层的状态
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .axf 转化 .bin文件 的方法
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET 的程序集加载上下文
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • // an array of int
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @font-face 用字体画图标
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [20171102]视图v$session中process字段含义
  • [C# 开发技巧]实现属于自己的截图工具
  • [C#]winform使用onnxruntime部署LYT-Net轻量级低光图像增强算法
  • [C#数据加密]——MD5、SHA、AES、RSA
  • [C语言]——函数递归
  • [Day 63] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • [Django 0-1] Core.Email 模块
  • [flask] flask的基本介绍、flask快速搭建项目并运行