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

VScode + opencv(cmake编译) + c++ + win配置教程

1、下载opencv
在这里插入图片描述
2、下载CMake
在这里插入图片描述
3、下载MinGW
在这里插入图片描述
在这里插入图片描述
放到一个文件夹中
双击
并解压另外两个文件
在这里插入图片描述
4、cmake编译opencv
新建文件夹mingw-build
在这里插入图片描述
双击cmake-gui
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
程序会开始自动生成Makefiles等文件配置,需要耐心等待一段时间。
简单总结下:finish->configuring done->configure->generate
5、安装
打开cmd,cd至刚刚的构建目录下C:\Users\wuxulong\cpp_env_2\opencv\build\mingw-build,
输入编译指令minGW32-make -j8,完成后再输入minGW32-make install
在这里插入图片描述
也要等一段时间
在这里插入图片描述
6、配置环境变量
在这里插入图片描述

7、配置文件
c_cpp_properties.json

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","C:\\Users\\wuxulong\\cpp_env_2\\opencv\\build\\mingw-build\\install\\include",//修改这里"C:\\Users\\wuxulong\\cpp_env_2\\opencv\\build\\mingw-build\\install\\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_2\\mingw64\\bin\\g++.exe",//修改这里"cStandard": "c11",//"cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"//"intelliSenseMode": "windows-gcc-x64"//"intelliSenseMode": "${default}"}],"version": 4
}

lanuch.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_2\\mingw64\\bin\\gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]}

tasks.json

{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "g++.exe build active file","command": "C:\\Users\\wuxulong\\cpp_env_2\\mingw64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g",// "-std=c++11","${file}",//"E:\\Git-resp\\C++\\yolov8_CPP_Inference_OpenCV_ONNX\\inference.cpp","-o","${fileDirname}\\${fileBasenameNoExtension}.exe",//"-I","E:\\Git-resp\\C++\\yolov8_CPP_Inference_OpenCV_ONNX","-I","C:\\Users\\wuxulong\\cpp_env_2\\opencv\\build\\mingw-build\\install\\include","-I","C:\\Users\\wuxulong\\cpp_env_2\\opencv\\build\\mingw-build\\install\\include\\opencv2","-L","C:\\Users\\wuxulong\\cpp_env_2\\opencv\\build\\mingw-build\\install\\x64\\mingw\\bin\\lib*"],"options": {"cwd": "C:\\Users\\wuxulong\\cpp_env_2\\mingw64\\bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true//表示快捷键Ctrl+Shift+B可以运行该任务},// "group": "build","detail": "编译器: C:\\Users\\wuxulong\\cpp_env_2\\mingw64\\bin\\g++.exe"}]
}

main.cpp

/***********************  显示指定地址的图片*****************************/#include<iostream>
#include<opencv2/opencv.hpp>
#include <unistd.h>
// #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("data/image/2.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;sleep(10);// 遍历每个像素//之所以用y这个名字表示行 是因为图片的坐标系中行号就是yfor (int y = 0; y < image.rows; y++){unsigned char* row_ptr = image.ptr<unsigned char>(y);for (int 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;
}

结果
在这里插入图片描述

参考:2023年最全 Windows + VSCode 配置 OpenCV C++ 一站式开发调试环境教程

相关文章:

VScode + opencv(cmake编译) + c++ + win配置教程

1、下载opencv 2、下载CMake 3、下载MinGW 放到一个文件夹中 并解压另外两个文件 4、cmake编译opencv 新建文件夹mingw-build 双击cmake-gui 程序会开始自动生成Makefiles等文件配置&#xff0c;需要耐心等待一段时间。 简单总结下&#xff1a;finish->configuring …...

Vue中的常用指令v-html / v-show / v-if / v-else / v-on / v-bind / v-for / v-model

前言 持续学习总结输出中&#xff0c;Vue中的常用指令v-html / v-show / v-if / v-else / v-on / v-bind / v-for / v-model 概念&#xff1a;指令&#xff08;Directives&#xff09;是Vue提供的带有 v- 前缀 的特殊标签属性。可以提高操作 DOM 的效率。 vue 中的指令按照不…...

ChatGPT 提问技巧

ChatGPT是由 OpenAI 训练的⼀款⼤型语⾔模型&#xff0c;能够和你进⾏任何领域的对话。 它能够⽣成类似于⼈类写作的⽂本。您只需要给出提示或提出问题&#xff0c;它就可以⽣成你想要的东⻄。 在此⻚⾯中&#xff0c;您将找到可与 ChatGPT ⼀起使⽤的各种提示。 只需按照下…...

2023-11-09 LeetCode每日一题(逃离火灾)

2023-11-09每日一题 一、题目编号 2258. 逃离火灾二、题目链接 点击跳转到题目位置 三、题目描述 给你一个下标从 0 开始大小为 m x n 的二维整数数组 grid &#xff0c;它表示一个网格图。每个格子为下面 3 个值之一&#xff1a; 0 表示草地。1 表示着火的格子。2 表示一…...

阿里云-maven私服idea访问私服与组件上传

1.进入aliyun制品仓库 2. 点击 生产库-release进入 根据以上步骤修改本地 m2/setting.xml文件 3.pom.xml文件 点击设置获取url 4. idea发布组件...

Ubuntu上的TFTP服务软件

2023年11月11日&#xff0c;周六下午 目录 tftpd-hpa atftpd 配置和启动 tftpd-hpa 这是一个TFTP服务器软件包&#xff0c;提供了一个简单的TFTP服务器。 你可以使用以下命令安装它&#xff1a; sudo apt-get install tftpd-hpaatftpd 这是另一个常用的TFTP服务器软件包…...

jedis、lettuce与redis交互分析

概念梳理&#xff1a; redis是缓存服务器&#xff0c;jedis、lettuce都是Java语言下的redis客户端&#xff0c;用于与redis服务器进行交互。springboot项目中一般使用的是spring data redis&#xff0c;spring data redis依赖与jedis或lettuce&#xff0c;可以进行配置&#x…...

C++算法:矩阵中的最长递增路径

涉及知识点 拓扑排序 题目 给定一个 m x n 整数矩阵 matrix &#xff0c;找出其中 最长递增路径 的长度。 对于每个单元格&#xff0c;你可以往上&#xff0c;下&#xff0c;左&#xff0c;右四个方向移动。 你 不能 在 对角线 方向上移动或移动到 边界外&#xff08;即不允…...

OpenWRT配置SFTP远程文件传输,让数据分享更安全

文章目录 前言 1. openssh-sftp-server 安装2. 安装cpolar工具3.配置SFTP远程访问4.固定远程连接地址 前言 本次教程我们将在OpenWRT上安装SFTP服务&#xff0c;并结合cpolar内网穿透&#xff0c;创建安全隧道映射22端口&#xff0c;实现在公网环境下远程OpenWRT SFTP&#xf…...

已解决:rm: 无法删除“/opt/module/zookeeper-3.4.10/zkData/zookeeper_server.pid“: 权限不够

解决&#xff1a; ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg Stopping zookeeper ... /opt/module/zookeeper-3.4.10/bin/zkServer.sh: 第 182 行:kill: (4149) - 不允许的操作 rm: 无法删除"/opt/module/zooke…...

Flink(四)【DataStream API - Source算子】

前言 今天开始学习 DataStream 的 API &#xff0c;这一块是 Flink 的核心部分&#xff0c;我们不去学习 DataSet 的 API 了&#xff0c;因为从 Flink 12 开始已经实现了流批一体&#xff0c; DataSet 已然是被抛弃了。忘记提了&#xff0c;从这里开始&#xff0c;我开始换用 F…...

GIS入门,xyz地图瓦片是什么,xyz数据格式详解,如何发布离线XYZ瓦片到nginx或者tomcat中

XYZ介绍 XYZ瓦片是一种在线地图数据格式,由goole公司开发。 与其他瓦片地图类似,XYZ瓦片将地图数据分解为一系列小的图像块,以提高地图显示效率和性能。 XYZ瓦片提供了一种开放的地图平台,使开发者可以轻松地将地图集成到自己的应用程序中。同时,它还提供了高分辨率图像和…...

[工业自动化-14]:西门子S7-15xxx编程 - 软件编程 - STEP7 TIA博途是全集成自动化软件TIA portal快速入门

目录 一、TIA博途是全集成自动化软件TIA portal快速入门 1.1 简介 1.2 软件常用界面 1.3 软件安装的电脑硬件要求 1.4 入口 1.5 主界面 二、PLC软件编程包含哪些内容 2.1 概述 2.2 电机运动控制 一、TIA博途是全集成自动化软件TIA portal快速入门 1.1 简介 Siemens …...

【教3妹学编程-算法题】Range 模块

3妹&#xff1a;哈哈哈哈哈哈哈哈 2哥 : 3妹看什么呢&#xff0c;笑的这么开森 3妹&#xff1a;2哥你快来看啊&#xff0c;成都欢乐谷的NPC模仿“唐僧”&#xff0c; 太搞笑了。 2哥 : 哦这个我也看到了&#xff0c;真的是唯妙唯肖&#xff0c;不能说像&#xff0c;只能说一模一…...

SpringBoot+MybatisPlus Restful示例

增删改查,分页 CREATE TABLE tbl_book ( id int NOT NULL AUTO_INCREMENT, type varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, name varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, desc_ription varchar(255) CHAR…...

【数据结构】树与二叉树(十一):二叉树的层次遍历(算法LevelOrder)

文章目录 5.2.1 二叉树二叉树性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点&#xff0c;其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…...

【PyQt】(自制类)处理鼠标点击逻辑

写了个自认为还算不错的类&#xff0c;用于简化mousePressEvent、mouseMoveEvent和mouseReleaseEvent中的鼠标信息。 功能有以下几点&#xff1a; 鼠标当前状态&#xff0c;包括鼠标左/中/右键和单击/双击/抬起鼠标防抖(仅超出一定程度时才判断鼠标发生了移动)&#xff0c;灵…...

JAVA IDEA 下载

超简单步骤一&#xff1a; IntelliJ IDEA 官方下载链接 点击以上链接进入下图&#xff0c;点击下载 继续点下载&#xff0c;然后等待下载完后打开安装包即可 步骤二&#xff1a; 打开下好的安装包&#xff0c;点击Browse...我们把它下载到自己喜欢的地方&#xff08;主要是别占…...

DevOps简介

DevOps简介 1、DevOps的起源2、什么是DevOps3、DevOps的发展现状4、DevOps与虚拟化、容器 1、DevOps的起源 上个世纪40年代&#xff0c;世界上第一台计算机诞生。计算机离不开程序&#xff08;Program&#xff09;驱动&#xff0c;而负责编写程序的人&#xff0c;被称为程序员&…...

体验前所未有的显示器管理体验:BetterDisplay Pro Mac

在现代的数字化时代&#xff0c;显示器是我们日常生活和工作中不可或缺的一部分。从笔记本电脑到台式机&#xff0c;从平板电脑到手机&#xff0c;几乎所有的电子设备都配备了显示器。然而&#xff0c;对于专业人士和从事设计行业的人来说&#xff0c;仅仅依靠系统自带的显示器…...

如何设计AI框架转换工具的函数参数?Ivy项目的完整实现规范指南

如何设计AI框架转换工具的函数参数&#xff1f;Ivy项目的完整实现规范指南 【免费下载链接】ivy Convert Machine Learning Code Between Frameworks 项目地址: https://gitcode.com/gh_mirrors/iv/ivy Ivy作为一款强大的机器学习框架转换工具&#xff0c;其核心功能在于…...

Spring IOC 源码学习 声明式事务的入口点氖

springboot自动配置 自动配置了大量组件&#xff0c;配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后&#xff0c;springboot会根据类路径上的jar包来自动配置bean&#xff08;比如&#xff1a;springboot发现类路径上的MyBatis相关类&#xff…...

M5StamPLC工业PLC库:ESP32嵌入式实时控制与I²C外设驱动

1. M5StamPLC 库概述M5StamPLC 是专为 M5Stack 推出的 K141 型号工业级可编程逻辑控制器&#xff08;PLC&#xff09;开发板设计的底层驱动库。该板卡并非传统意义上的 Arduino 兼容开发板&#xff0c;而是面向工业自动化场景的嵌入式控制终端&#xff0c;具备数字量输入/输出、…...

天机学堂aaaa

1学习计划和进度模块 1.提交学习记录 区分是否是考试&#xff1a; 视频&#xff1a;是否过50%&#xff08;需要判断进度&#xff09; 考试&#xff1a;直接提交 lesson_id&#xff08;课表id&#xff0c;learning_lesson表的主键&#xff09;user_idcourse_id&#xff08;课…...

我试了四种去除 Gemini 水印的方法,整理成一篇实用对比撕

认识Pass层级结构 Pass范围从上到下一共分为5个层级&#xff1a; 模块层级&#xff1a;单个.ll或.bc文件 调用图层级&#xff1a;函数调用的关系。 函数层级&#xff1a;单个函数。 基本块层级&#xff1a;单个代码块。例如C语言中{}括起来的最小代码。 指令层级&#xff1a;单…...

我用 AI 辅助开发了一系列小工具():文件提取工具账

从0构建WAV文件&#xff1a;读懂计算机文件的本质 虽然接触计算机有一段时间了&#xff0c;但是我的视野一直局限于一个较小的范围之内&#xff0c;往往只能看到于算法竞赛相关的内容&#xff0c;计算机各种文件在我看来十分复杂&#xff0c;认为构建他们并能达到目的是一件困难…...

Trea实战:零代码改造,借助CMake与vcpkg无缝集成glog日志库

1. 为什么你需要零代码集成glog日志库 作为一个C开发者&#xff0c;你一定遇到过这样的场景&#xff1a;项目进行到一半&#xff0c;突然发现需要添加完善的日志功能。这时候你面临两个选择&#xff1a;要么自己从头实现一套日志系统&#xff0c;要么集成现有的成熟日志库。前者…...

别再只会ping了!用Wireshark亲手抓个包,看看你的网络请求到底说了啥

从零开始用Wireshark解剖网络数据包&#xff1a;一次真实的网络侦探之旅 每次点击网页或发送消息时&#xff0c;你的设备都在与远方服务器进行着复杂的对话。这些对话被封装成数据包&#xff0c;像信件一样在网络中传递。但你是否好奇过&#xff0c;这些"信件"里究竟…...

基于File-Based App开发MVP项目托

Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的&#xff0c;以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成&#xff0c;将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...

2026届最火的五大AI论文工具横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 借助人工智能来辅助撰写开题报告&#xff0c;可显著提高研究框架构建的效率&#xff0c;在用…...