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

VScode + opencv + c++ + win配置教程

准备:
1、下载opencv
下载opencv
2、下载MinGw
在这里插入图片描述3、
3、下载CMake
在这里插入图片描述
下载完解压放到一个文件夹里面,便于环境管理,文件夹我重命名了,解压出来文件名不一样正常
在这里插入图片描述
环境变量配置
在这里插入图片描述

C:\Users\wuxulong\cpp_env\MinGw\mingw64\bin
C:\Users\wuxulong\cpp_env\cmake\bin
C:\Users\wuxulong\cpp_env\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\x64\mingw\bin

4、安装vscode扩展
在这里插入图片描述
5、新建main.cpp
在这里插入图片描述

/***********************  显示指定地址的图片*****************************/
#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;int main(int argc, char** argv)    
{                                  Mat image;image = imread("test.jpg");if (image.data == nullptr)                     //nullptr是c++11新出现的空指针常量{cout << "图片文件不存在" << endl;}else{//显示图片imshow("meinv", image);waitKey(0);}// 输出图片的基本信息cout << "图像宽为:" << image.cols << "\t高度为:" << image.rows << "\t通道数为:" << image.channels() << endl;// 遍历每个像素//之所以用y这个名字表示行 是因为图片的坐标系中行号就是yfor (size_t y = 0; y < image.rows; y++){unsigned char* row_ptr = image.ptr<unsigned char>(y);for (size_t x = 0; x < image.cols; ++x) {//这是获得像素数据数组的头指针,注意像素数据可能会有多个通道所以才需要用数组存储unsigned char* data_ptr = &row_ptr[x * image.channels()];//对当前像素逐个通道输出颜色值for (int i = 0; i < image.channels(); ++i) {cout << int(data_ptr[i])<<endl;}}}system("pause");return 0;
}

6、新建task.json

{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "g++.exe build active file","command": "C:\\Users\\wuxulong\\cpp_env\\MinGw\\mingw64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g",// "-std=c++11","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe","-I","C:\\Users\\wuxulong\\cpp_env\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include","-I","C:\\Users\\wuxulong\\cpp_env\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include\\opencv2","-L","C:\\Users\\wuxulong\\cpp_env\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\x64\\mingw\\lib","-L","C:\\Users\\wuxulong\\cpp_env\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\x64\\mingw\\bin","-l","libopencv_calib3d452","-l","libopencv_core452","-l","libopencv_dnn452","-l","libopencv_features2d452","-l","libopencv_flann452","-l","libopencv_gapi452","-l","libopencv_highgui452","-l","libopencv_imgcodecs452","-l","libopencv_imgproc452","-l","libopencv_ml452","-l","libopencv_objdetect452","-l","libopencv_photo452","-l","libopencv_stitching452","-l","libopencv_video452","-l","libopencv_videoio452"],"options": {"cwd": "C:\\mingw64\\bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true//表示快捷键Ctrl+Shift+B可以运行该任务},// "group": "build","detail": "编译器: C:\\mingw64\\bin\\g++.exe"}]
}

7、新建launch.json

{// 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字段"type": "cppdbg",//配置类型,只能为cppdbg"request": "launch",//请求配置类型,可以为launch(启动)或attach(附加)"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称"args": [],//调试传递参数"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,//true显示外置的控制台窗口,false显示内置终端"MIMode": "gdb","miDebuggerPath": "C:\\Users\\wuxulong\\cpp_env\\MinGw\\mingw64\\bin\\gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]}

8、新建c_cpp_properties.json

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","C:\\Users\\wuxulong\\cpp_env\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include",//修改这里"C:\\Users\\wuxulong\\cpp_env\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include\\opencv2"//修改这里// "C:\\Users\\wuxulong\\cpp_env\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include\\opencv2\\core\\core.hpp"// "F:\\Tools\\opencv\\build\\include\\opencv"                ],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.18362.0","compilerPath": "C:\\Users\\wuxulong\\cpp_env\\MinGw\\mingw64\\bin\\g++.exe",//修改这里"cStandard": "c11",//"cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"//"intelliSenseMode": "windows-gcc-x64"//"intelliSenseMode": "${default}"}],"version": 4
}

9、运行 快捷键F5
在这里插入图片描述

相关文章:

  • 初识微服务技术栈
  • iOS 让界面元素的文字随着语言的更改而变化——本地化文字跟随
  • 如何在 Unbuntu 下安装配置 Apache Zookeeper
  • 一触即发!拓世法宝商业数字人一体机,化身数字员工,助你开拓连锁餐饮市场
  • 工程车云管家|叉车智能管家安卓主板方案
  • FPGA配置采集AR0135工业相机,提供2套工程源码和技术支持
  • 算法题:33. 搜索旋转排序数组(二分法)
  • sqli-labs-1
  • nacos配置中心docker部署、配置及 goLang 集成使用
  • Kafka(消息队列)--简介
  • 单基因泛癌+实验简单验证,要素丰富,没研究方向的赶紧上车
  • Nginx 实现负载均衡
  • java数据结构(红黑树)set集合 HashSet HashSet三个问题 LinkedHashSetTreeSet TreeSet集合默认规则排序规则
  • 软件测试面试怎样介绍自己的测试项目?会问到什么程度?
  • Zookeeper经典应用场景实战(一)
  • 分享的文章《人生如棋》
  • ES6--对象的扩展
  • Git的一些常用操作
  • Javascript弹出层-初探
  • JavaScript设计模式之工厂模式
  • Java面向对象及其三大特征
  • Koa2 之文件上传下载
  • python大佬养成计划----difflib模块
  • vue:响应原理
  • 服务器从安装到部署全过程(二)
  • 设计模式 开闭原则
  • 我建了一个叫Hello World的项目
  • 学习JavaScript数据结构与算法 — 树
  • 一个JAVA程序员成长之路分享
  • 怎么把视频里的音乐提取出来
  • 自制字幕遮挡器
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​520就是要宠粉,你的心头书我买单
  • # 安徽锐锋科技IDMS系统简介
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #define用法
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET/C# 使窗口永不获得焦点
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET的微型Web框架 Nancy
  • .net解析传过来的xml_DOM4J解析XML文件
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [ SNOI 2013 ] Quare
  • [2]十道算法题【Java实现】
  • [2669]2-2 Time类的定义
  • [ASP]青辰网络考试管理系统NES X3.5
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
  • [C++参考]拷贝构造函数的参数必须是引用类型