VScode + opencv + c++ + win配置教程
准备:
1、下载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
相关文章:

VScode + opencv + c++ + win配置教程
准备: 1、下载opencv 2、下载MinGw 3、 3、下载CMake 下载完解压放到一个文件夹里面,便于环境管理,文件夹我重命名了,解压出来文件名不一样正常 环境变量配置 C:\Users\wuxulong\cpp_env\MinGw\mingw64\bin C:\Users\wuxulon…...

机器学习---SVM目标函数求解,SMO算法
1. 线性可分支持向量机 1.1 定义输入数据 假设给定⼀个特征空间上的训练集为: 其中,(x , y )称为样本点。 x 为第i个实例(样本)。 y 为x 的标记: 当y 1时,x 为正例;当y −1时,x…...

044_第三代软件开发-保存PDF
第三代软件开发-保存PDF 文章目录 第三代软件开发-保存PDF项目介绍保存PDF头文件源文件使用 关键字: Qt、 Qml、 pdf、 painter、 打印 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Languageÿ…...
2023红帽论坛:构建开放AI生态,助力企业数字革新之路
随着人工智能技术的飞速发展,各行各业正面临着一场前所未有的数字化转型浪潮。尤其是AIGC(人工智能生成内容)技术自2022年底以来的蓬勃兴起,不仅重塑了用户体验,也为企业运营带来了深刻的变革。 在这样的大背景下&…...
阿里云国际站和华为云国际站之间该如何选择?
阿里云国际站和华为云国际站都是知名的云计算服务提供商,它们各自具有一些独特的优势和劣势。以下是它们之间的一些对比,九河云根据不同的使用场景提供的建议: 阿里云国际站: 优势: 全球覆盖:阿里云国际…...

JavaScript设计模式之责任链模式
适用场景:一个完整的流程,中间分成多个环节,各个环节之间存在一定的顺序关系,同时中间的环节的个数不一定,可能添加环节,也可能减少环节,只要保证顺序关系就可以。 如下图: ES5写法…...

云安全—kubelet攻击面
0x00 前言 虽然说总结的是kubelet的攻击面,但是在总结攻击面之前还是需要去了解kubelet的基本原理,虽然说我们浅尝即止,但是还是要以能给别人讲出来为基本原则。 其他文章: 云安全—K8s APi Server 6443 攻击面云安全—K8S API Server 未授…...
leetcode经典面试150题---5.多数元素
目录 题目描述 前置知识 代码 方法一 排序法 思路 实现 复杂度 方法二 哈希表 思路 实现 题目描述 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给…...

Vue ElementUI el-tooltip 全局样式修改
el-tooltip 要点 此处是全局配置;如果想设置指定的 tooltip 可设置属性 popper-class,为 tooltip 的 popper 添加类名;代码 6 - 8 行,隐藏小三角; .el-tooltip__popper {border-radius: 4px !important;color: #9E9…...

MATLAB_5MW风电永磁直驱发电机-1200V直流并网MATLAB仿真模型
仿真软件:matlab2016b 风机传动模块、PMSG模块、蓄电池模块、超级电容模块、无穷大电源、蓄电池控制、风机控制、逆变器控制等模块。 逆变器输出电压: 混合储能系统SOC: 威♥关注“电击小子程高兴的MATLAB小屋”获取更多精彩资料࿰…...
11.4商业伦理(全)
大型工商业城市和小城市的商业伦理道德水平是否存在差异,如果有,存在哪些差异? 伦理道德对产业分工的影响 产业层级越高,需要的商业伦理道德水平越高 产业级别越高,利润率越高 去中心化的去信任化的比特币会不会取…...

【漏洞复现】S2-045 Remote Code Execution(CVE-2017-5638)
感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描nacs3、漏洞验证 1.5、修复建议 说明内容漏洞编号CVE-2017-5638漏洞名称S2-045 远程代码执行漏…...

Linux----------------Shell重定向输入输出
(一) 标准输入 以键盘读取用户输入的数据,然后再把数据拿到 Shel程序中使用。 标准输出 Shell 程序产生的数据,这些数据一般都是呈现到显示器上供用户浏览查看 输入输出重定向 输入方向就是数据从哪里流向程序。数据默认从键…...

apachesolr中简单使用
core使用 首先点击add core 可以看到报错solrconfig.xml不在new_core目录下,new_core是我们点击后自动创建的 那么我们将D:\solr2\solr-9.3.0\solr-9.3.0\server\solr\configsets下的任何一个目录下的conf拷贝到new_core过去 这里是使用_default下的conf目录拷贝…...
C++多线程编程:其一、thread类概述
thread是C11版本中出现的线程对象,可以让程序员非常方便地创建线程。 非空的thread对象创建以后,线程就会自动运行起来。简单地理解,一个线程对象中会传入一个函数指针,之后编译器会构造一个栈,将这个函数指针压栈。函…...

C++11 initializer_list 轻量级初始化列表的使用场景(让自定义类可以用初始化列表的形式来实例化对象)
initializer_list 是 C11 中的一个特性,它允许你使用花括号 {} 中的值列表来初始化容器或数组。通常用于初始化标准库容器,比如 std::vector、std::set、std::map 以及数组。 场景一:用初始化列表初始化容器 std::vector<int> arr {…...

请求地址‘/operlog‘,发生未知异常
👨🏻💻 热爱摄影的程序员 👨🏻🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻🏫 一位高冷无情的编码爱好者 大家好,我是全栈工…...

Makefile 保姆级使用教程
目录 Makefile 规则 Makefile的使用介绍 make 命令的使用 即时变量、延时变量介绍和使用 使用make命令编译多个文件 假想目标 常用函数 1.$(foreach var,list,text) 2.$(wildcard pattern) 3.$(filter pattern...,text) 4.$(filter-out pattern...,text) 5.$(patsub…...

【GitHub】Watch、Star、Fork、Follow 有什么区别?
目录 一、前言二、区别1. Watch2. Star3. Fork4. Follow 一、前言 GitHub 是最受欢迎的代码托管平台之一,拥有大量的开源代码可供学习。 Github 中也有类似 “点赞”、“收藏”、“加关注” 的功能。 下面介绍下,GitHub 中 Watch、Star、Fork、Follow 有…...

MyBatis实现多表映射、分页显示、逆向工程
目录 一、MyBatis实现多表映射 1.1 实体类设计 1.2 一对一关系实现案例 1.3 对多配置实现案例 1.4 设置自动映射与n张表关联映射 二、MyBatis实现分页功能 2.1 mybatis插件工作原理 2.2 引入插件与插件的使用 三、逆向工程插件 3.1 什么是逆向工程 3.2 MyBat…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...