vscode中导入#include “opencv2/opencv.hpp“

鼠标放到上面 点击快速修复

1.img.cpp

// 图片的读取和显示
// 导入opencv头文件
#include "opencv2/opencv.hpp"
#include <iostream>int main(int argc, char** argv)
{// 读取图片,mat是matrix的缩写,是一个矩阵,类似与numpy ndarraycv::Mat image = cv::imread("./media/cat.jpg");// 判断是否读取成功if (image.empty()){std::cout << "无法读取图片 " << std::endl;return 1;}// 打印图片高度和宽度std::cout << "图片高度: " << image.rows << " 宽度: " << image.cols << std::endl;// 打印图片data// 以Numpy的方式打印// std::cout << "图片data: " << cv::format(image, cv::Formatter::FMT_NUMPY) << std::endl;// 以python list的方式打印// std::cout << "图片data: " << cv::format(image, cv::Formatter::FMT_PYTHON) << std::endl;// 创建一个灰度图cv::Mat gray;// 转换为灰度图cv::cvtColor(image, gray, cv::COLOR_BGR2GRAY);// 保存cv::imwrite("./gray.jpg", gray);// // 显示// cv::imshow("原图", image);// cv::imshow("灰度图", gray);// // 等待按键// cv::waitKey(0);}

2.创建cmake-CMakeLists.txt

# 最低版本要求
cmake_minimum_required(VERSION 3.10)# 项目信息
project(opencv_demo)# 使用find_package命令查找OpenCV库
find_package(OpenCV REQUIRED)
find_package(gflags REQUIRED)if (OpenCV_FOUND)message(STATUS "OpenCV library status:")message(STATUS "    version: ${OpenCV_VERSION}")message(STATUS "    libraries: ${OpenCV_LIBS}")message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")
else()message(FATAL_ERROR "Could not find OpenCV library")
endif()# 添加头文件
include_directories(${OpenCV_INCLUDE_DIRS} ${gflags_INCLUDE_DIRS})
# 链接库
link_libraries(${OpenCV_LIBS} ${gflags_LIBRARIES})# 添加可执行文件
add_executable(demo_1.img src/1.img.cpp)
add_executable(demo_2.video src/2.video.cpp)
add_executable(demo_3.camera src/3.camera.cpp)

终端--运行生成任务--g++----task.json

{"version": "2.0.0","tasks": [// 1. cmake 配置{"label": "cmake 配置","type": "shell","command": "cmake -B build -S . -DCMAKE_BUILD_TYPE=Debug","problemMatcher": [],"group": {"kind": "build","isDefault": true},"options": {"cwd": "${workspaceFolder}"}},// 2. cmake 构建{"label": "cmake 构建","type": "shell","command": "cmake --build build","problemMatcher": [],"group": {"kind": "build","isDefault": true},"options": {"cwd": "${workspaceFolder}"},"dependsOn": ["cmake 配置"]},// 3. 删除build 目录{"label": "删除build 目录","type": "shell","command": "rm -rf build","problemMatcher": [],"group": {"kind": "build","isDefault": true},"options": {"cwd": "${workspaceFolder}"}},// 4. 运行可执行文件{"label": "运行可执行文件","type": "shell","command": "./build/demo_${fileBasenameNoExtension}","problemMatcher": [],"group": {"kind": "build","isDefault": true},"options": {"cwd": "${workspaceFolder}"},"dependsOn": ["cmake 构建"]}]
}

launch.json

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "lldb","request": "launch","name": "C++ CMake Debug","program": "${workspaceFolder}/build/demo_${fileBasenameNoExtension}","args": [],"cwd": "${workspaceFolder}","preLaunchTask": "cmake 构建",}]
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/285729.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

睿眼(Realeye)视觉识别模型训练全流程心得分享

睿眼&#xff08;Realeye&#xff09;是一款集智能采集、识别、定位、抓取、视控全流程为一体的 AI 产品&#xff0c; 以其 AI 算法结合机械臂硬件实现对万事万物的定位抓取功能&#xff0c;能够实现对任意目标物从图 片采集、标注到模型训练和抓取。通过人性化的交互方式、易操…

自然语言处理: 第十九章LoRAQLoRA微调技巧

论文地址&#xff1a;使用低秩自适应 &#xff08;LoRA&#xff09; 进行参数高效LLM微调 - Lightning AI — Parameter-Efficient LLM Finetuning With Low-Rank Adaptation (LoRA) - Lightning AI 本篇文章是由位来自威斯康星大学麦迪逊分校的统计学助理教授Sebastian Raschk…

C++除了Qt还有什么GUI库?

C除了Qt还有什么GUI库&#xff1f; 先&#xff0c;不要折腾&#xff0c;不要想着用 C 来做 App 类的 GUI 开发。 所以你问用 c gui 库&#xff0c;本来确实有很多&#xff0c;但是经过几十年的沉淀&#xff0c;最后只留下一个 qt quick 和其他特殊需求的库&#xff08;包括 qt…

西圣、漫步者、万魔开放式耳机如何?甄选机型实测对比测评

无论是通勤、工作还是休闲时光&#xff0c;耳机总能为我们带来沉浸式的音乐体验。近年来&#xff0c;开放式耳机以其独特的优势逐渐受到市场的青睐&#xff0c;其中西圣、漫步者、万魔等品牌在市场上相当火热&#xff0c;那这三款开放式耳机的实际到底如何&#xff0c;还是有许…

nodeJs中实现连表查询

nodeJs中实现连表查询 router.post(/getOrder, async function(req, res, next) {let userId req.body.phone;let sql select * from orders where userId?;let orders await new Promise((resolve, reject) > {connection.query(sql, [userId], function(error, resul…

Python灰帽子网络安全实践

教程介绍 旨在降低网络防范黑客的入门门槛&#xff0c;适合所有中小企业和传统企业。罗列常见的攻击手段和防范方法&#xff0c;让网站管理人员都具备基本的保护能力。Python 编程的简单实现&#xff0c;让网络运维变得更简单。各种黑客工具的理论和原理解剖&#xff0c;让人知…

详解“外卡收单”系统(1)

近年来&#xff0c;随着跨境贸易和服务的不断发展&#xff0c;外卡收单行业展现出新的发展态势。随着越来越多外国人在中国消费&#xff0c;中国商家为满足海外消费者需求开始接受国际信用卡支付。根据官方数据显示&#xff0c;截至2023年11月&#xff0c;上海的外卡POS机已超过…

【C++】vector容器初步模拟

送给大家一句话&#xff1a; 努力一点&#xff0c;漂亮—点&#xff0c;阳光一点。早晚有一天&#xff0c;你会惊艳了时光&#xff0c;既无人能替&#xff0c;又光芒万丈。 vector容器初步模拟 1 认识vector开始了解底层实现 2 开始实现成员变量构造函数 析构函数尾插迭代器插入…

集成学习 | 集成学习思想:Boosting思想 | XGBoost算法、LightGBM算法

目录 一. XGBoost 算法1. XGBoost 算法流程2. XGBoost 算法评价 二. LightGBM 算法2. LightGBM 算法优势 上一篇文章中&#xff0c;我们了解了Boosting思想的两种算法&#xff1a;Adboost和GBDT&#xff1b;其中对于GBDT算法&#xff0c;存在两种改进&#xff0c;即&#xff1a…

外包干了20天,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;21年通过校招进入杭州某软件公司&#xff0c;干了接近2年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了2年的功能测试…

1分钟带你学会使用Python操作 xlsx 文件绘制面积图

​我们工作中经常要处理海量的数据&#xff0c;如果没有一个直观的可视化工具&#xff0c;怎么可能一眼就看出数据背后的故事呢&#xff1f;数据可视化显得越来越重要&#xff0c;数据分析已经成了现代人必备的技能。 今天来和大家分享一个超有趣的数据可视化方法——绘制面积…

Redis中文乱码问题

最近排查问题&#xff0c;发现之前的开发将日志写在redis缓存中&#xff08;不建议这样做&#xff09;&#xff0c;我在查看日志的时候发现没办法阅读&#xff0c;详细是这样的&#xff1a; 查阅资料后发现是进制问题&#xff0c;解决方法是启动客户端的时候将redis-cli改为red…

流畅的 Python 第二版(GPT 重译)(四)

第二部分&#xff1a;函数作为对象 第七章&#xff1a;函数作为一等对象 我从未认为 Python 受到函数式语言的重大影响&#xff0c;无论人们说什么或想什么。我更熟悉命令式语言&#xff0c;如 C 和 Algol 68&#xff0c;尽管我将函数作为一等对象&#xff0c;但我并不认为 Py…

【机器学习】机器学习是什么?

文章目录 前言 机器学习 序列学习和对抗学习有什么不同 总结 前言 在当今快速发展的科技时代&#xff0c;人工智能已经成为推动社会进步的重要力量。机器学习&#xff0c;作为人工智能领域的一个重要分支&#xff0c;它的核心能力在于使计算机系统能够从数据中学习规律&…

Python RPA简单开发实践(selenium登陆浏览器自动输入密码登陆)

打开csdn博客&#xff0c;简单版 class BS:def __init__(self, url):self.url url# self.password password# self.username usernamedef login_url(self):from selenium import webdriver# 不自动关闭浏览器option webdriver.ChromeOptions()option.add_experimental_opt…

Vue 若依框架 form-generator添加表格组件和动态表单组件

效果图&#xff1a; 在若依框架自带的流程表单配置基础上添加这两个组件 config.js // 表单属性【右面板】 export const formConf {formRef: elForm,formModel: formData,other: other,size: medium,labelPosition: right,labelWidth: 100,formRules: rules,gutter: 15,dis…

LeetCode每日一题[c++]-322.零钱兑换

题目描述 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认为每种硬币的数量是无…

游戏提示steam_api64.dll丢失怎样修复?教你5种快速修复的方法

在计算机系统中&#xff0c;如果未能成功找到或加载steam_api64.dll文件&#xff0c;可能会引发一系列的问题和故障现象。这个特定的DLL文件是Steam平台的核心组件之一&#xff0c;对于运行基于Steam平台的游戏或应用至关重要。当系统提示“找不到steam_api64.dll”时&#xff…

抖音视频关键词爬虫批量采集软件|视频提取下载工具

视频关键词批量采集软件 — 助力您快速获取所需视频 主要功能&#xff1a; 关键词批量提取视频和单独视频提取&#xff0c;提取后下载功能。 功能解析&#xff1a; 1. 关键词批量提取视频的解析 通过输入关键词进行视频搜索和提取。例如&#xff0c;输入“汽车配件”&#x…

N9010B EXA 信号分析仪 10 Hz 至 44 GHz

N9010B EXA 信号分析仪 10 Hz 至 44 GHz 产品综述 <<<<频率范围&#xff1a;10 Hz 至 44 GHz>>> keysight N9010B EXA 信号分析仪&#xff0c;10 Hz 至 44 GHz无论是增强产品性能还是提高测试吞吐量&#xff0c;您的通用型信号分析仪都要有能力满足各…