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

yolov5 C++环境搭建

安装依赖包pip install onnx模型转化python export.py --weights yolov5s.pt --include onnxopencv版本要求4.5以上安装部署器opencv 4.8.0opencv编译下载git clone https://github.com/opencv/opencv.gitcd opencv git checkout 4.8.0 mkdir build cd build cmake -D CMAKE_BUILD_TYPERelease \ -D CMAKE_INSTALL_PREFIX/usr/local \ -D OPENCV_GENERATE_PKGCONFIGON \ -D BUILD_EXAMPLESOFF \ -D BUILD_TESTSOFF \ -D BUILD_PERF_TESTSOFF \ .. make -j$(nproc) sudo make install代码CMakeLists.txtcmake_minimum_required(VERSION 3.10) project(yolov5_cpp) set(CMAKE_CXX_STANDARD 11) set(OpenCV_DIR /usr/local/lib/cmake/opencv4) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable(yolo main.cpp) target_link_libraries(yolo ${OpenCV_LIBS})main.cpp#include opencv2/opencv.hpp #include vector #include string using namespace cv; using namespace cv::dnn; using namespace std; const float CONF_THRESHOLD 0.25f; const float NMS_THRESHOLD 0.45f; // 去重框关键 vectorstring class_names { person, bicycle, car, motorcycle, airplane, bus, train, truck, boat, traffic light, fire hydrant, stop sign, parking meter, bench, bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe, backpack, umbrella, handbag, tie, suitcase, frisbee, skis, snowboard, sports ball, kite, baseball bat, baseball glove, skateboard, surfboard, tennis racket, bottle, wine glass, cup, fork, knife, spoon, bowl, banana, apple, sandwich, orange, broccoli, carrot, hot dog, pizza, donut, cake, chair, couch, potted plant, bed, dining table, toilet, tv, laptop, mouse, remote, keyboard, cell phone, microwave, oven, toaster, sink, refrigerator, book, clock, vase, scissors, teddy bear, hair drier, toothbrush }; int main() { string model_path yolov5s.onnx; Net net readNet(model_path); Mat img imread(bus.jpg); int h img.rows; int w img.cols; Mat blob blobFromImage(img, 1 / 255.0, Size(640, 640), Scalar(), true, false); net.setInput(blob); Mat pred; net.forward(pred, net.getUnconnectedOutLayersNames()[0]); vectorRect boxes; vectorfloat confs; vectorint classIds; float* data (float*)pred.data; for (int i 0; i 25200; i) { float conf data[4]; if (conf CONF_THRESHOLD) { data 85; continue; } Mat scores(1, class_names.size(), CV_32FC1, data 5); double maxScore; Point maxClassPoint; minMaxLoc(scores, 0, maxScore, 0, maxClassPoint); int classId maxClassPoint.x; float x data[0]; float y data[1]; float ww data[2]; float hh data[3]; int x1 (x - ww / 2) * w / 640; int y1 (y - hh / 2) * h / 640; int w2 ww * w / 640; int h2 hh * h / 640; boxes.push_back(Rect(x1, y1, w2, h2)); confs.push_back(conf); classIds.push_back(classId); data 85; } // ✅ NMS 去重框关键 vectorint indices; NMSBoxes(boxes, confs, CONF_THRESHOLD, NMS_THRESHOLD, indices); // ✅ 最终干净画框 for (int idx : indices) { Rect box boxes[idx]; int cid classIds[idx]; float cf confs[idx]; rectangle(img, box, Scalar(0, 255, 0), 2); string label class_names[cid] to_string(cf).substr(0, 4); putText(img, label, Point(box.x, box.y - 10), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0, 255, 0), 2); } imshow(YOLOv5 C 干净版, img); waitKey(0); return 0; }编译运行mkdir build cd build cmake .. make ./yolo把图片和onnx都放到build的文件夹里与可执行文件yolo一个目录。

相关文章:

yolov5 C++环境搭建

安装依赖包:pip install onnx模型转化:python export.py --weights yolov5s.pt --include onnxopencv版本要求:4.5以上安装部署器:opencv 4.8.0opencv编译下载:git clone https://github.com/opencv/opencv.gitcd open…...

从CSV到知识图谱:Neo4j数据导入与可视化实战解析

1. 为什么选择Neo4j处理CSV数据 在日常数据处理中,我们经常会遇到各种表格数据,比如Excel表格、CSV文件等。这些表格虽然能直观地展示数据,但当数据之间存在复杂关系时,表格就显得力不从心了。举个例子,如果你手头有一…...

【2026年蚂蚁集团暑期实习- 4月16日-算法岗-第二题- 动态红线剪断查询】(题目+思路+JavaC++Python解析+在线测试)

题目内容 小红有一根长度为 n−1n-1n−1 的绳子,她在绳子上均匀的画了 nn...

从‘河道水流’到‘信号反弹’:一个生动的比喻带你彻底理解阻抗不匹配

从‘河道水流’到‘信号反弹’:一个生动的比喻带你彻底理解阻抗不匹配 想象一下,你正站在一条湍急的河流边观察水流。当河道宽度突然变窄时,你会看到水流撞击狭窄处后产生反向的浪花;而当河道突然变宽时,水流又会像被&…...

【2026年蚂蚁集团暑期实习- 4月16日-算法岗-第一题- 构造合法和数组】(题目+思路+JavaC++Python解析+在线测试)

题目内容 给定一个正整数 nnn。请你找到一个长度至少为 222 的数组 aaa,使得数组...

SpringBoot实战:如何优雅处理@Valid校验失效引发的MethodArgumentNotValidException

1. 为什么你的Valid校验会突然失效? 最近在项目中遇到一个奇怪的问题:明明用Valid标注了请求体参数,前端传空值时却直接返回400错误,完全没有触发我们精心设计的校验逻辑。这个问题让我折腾了大半天,最后发现是SpringB…...

AI健身计划正在淘汰传统健身SaaS?2026奇点大会现场实测数据:LTV提升3.8倍,用户留存跃升至81.6%

第一章:2026奇点智能技术大会:AI健身计划 2026奇点智能技术大会(https://ml-summit.org) 个性化运动建模引擎 大会首次发布开源框架 FitGraph,该引擎基于多模态生理信号(心率变异性、肌电图、惯性测量单元)构建动态人…...

Kubernetes StatefulSet 与 Deployment 的区别

Kubernetes作为容器编排领域的核心工具,其资源对象StatefulSet和Deployment常被用于管理应用部署,但两者设计目标截然不同。理解它们的区别,能帮助开发者在有状态服务和无状态服务间做出合理选择。本文将从应用场景、Pod标识、存储管理等方面…...

04-07-05 逻辑顺序的应用 - 学习笔记

04-07-05 逻辑顺序的应用 - 学习笔记 章节信息 核心主题:时间顺序、结构顺序、重要性顺序、如何选择合适的逻辑顺序 学习目标:掌握三种基本逻辑顺序,能够为任何内容选择最合适的排序方式 关键要点:三种顺序各有适用场景、排序影响理解、一致性原则核心概念 1. 为什么逻辑顺序很…...

04-07-04 演绎与归纳推理 - 学习笔记

04-07-04 演绎与归纳推理 - 学习笔记 章节信息 核心主题:演绎推理、归纳推理、如何选择推理方式、技术论证应用 学习目标:理解两种推理方式的本质区别,学会在不同场景选择合适的推理方式 关键要点:演绎三段论、归纳分组、90%场景推…...

(107页PPT)数字化转型企业架构设计业务架构应用架构数据架构技术架构(附下载方式)

篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 https://download.csdn.net/download/2501_92808811/92779082 资料解读:《(107页PPT)数字化转型企业架构设计业务架构应用架构数据架构技术架构》 详细资料请…...

因果AI的“如果”世界:一文读懂反事实推理的核心与应用

因果AI的“如果”世界:一文读懂反事实推理的核心与应用 引言 想象一下,一位医生在思考:“如果给这位患者换了另一种药,结果会更好吗?”或者一位产品经理在复盘:“如果当初没有上线这个功能,用户…...

开发者面试内卷:突出重围的差异化战术

当面试成为一场无声的战争对于广大软件测试从业者而言,当下的求职环境正经历着一场深刻而静默的变革。面试不再是简单的技术问答,而演变为一场综合能力的全面较量。技术基础、项目深度、思维逻辑乃至对行业趋势的洞察,都成为面试官衡量候选人…...

图解 RAG:为什么大模型需要外挂知识库

RAG 基础概念 RAG(检索增强生成)是一种让 AI 在回答问题前先「查资料」的技术,通过检索外部知识库来增强大语言模型的生成能力,解决 LLM 的知识过时、幻觉和私有数据缺失三大痛点。 概念速览 概念/术语一句话解释补充说明RAGRetr…...

敏捷开发失效了?2026年新方法论探索

测试工程师的敏捷“倦怠” 作为一名软件测试从业者,你是否也感受到了一种新的疲惫?迭代周期似乎在缩短,交付压力与日俱增,但缺陷修复的窗口期却在压缩,回归测试的复杂性呈指数级增长。更令人困惑的是,当开…...

从非结构化文本到基于LLM的交互式知识图谱

专注于知识图谱构建与应用开发,提供一站式定制服务。 涵盖数据采集、实体与关系抽取、图谱建模及优化,支持科研与企业场景。 可开发智能问答、语义查询与推荐系统,并提供可视化分析与Neo4j图数据库搭建,助力高效挖掘知识价值&am…...

AI泡沫再现?从业者的理性生存指南

在资本与技术的双重奏鸣中,人工智能的浪潮再次掀起滔天巨浪。与历史上的技术热潮相似,亢奋的投资、飙升的估值与“万物皆可AI”的口号交织,让“泡沫”的隐忧重新浮现在每个从业者的心头。对于身处质量保障一线的软件测试工程师而言&#xff0…...

AI客服机器人爆发前夜,你还在用2023版对话引擎?——2026奇点大会6项强制合规新规倒计时47天

第一章:2026奇点智能技术大会:AI客服机器人 2026奇点智能技术大会(https://ml-summit.org) 实时多模态意图理解架构 本届大会展示的AI客服机器人首次集成语音、文本与屏幕行为三模态联合建模能力。其核心推理引擎基于轻量化MoE(Mixture of …...

【限时解密】生成式AI数据回流机制的“暗数据”捕获术:绕过UI层直接抓取用户修正行为、停留热区、撤回序列的3种零侵入方案

第一章:生成式AI应用数据回流机制 2026奇点智能技术大会(https://ml-summit.org) 生成式AI系统在生产环境中持续演进,其核心驱动力之一是高质量、结构化、带上下文标签的用户反馈与行为数据回流。数据回流并非简单日志采集,而是涵盖用户显式…...

宝塔面板结合Docker:一站式网站部署实战指南

1. 宝塔面板与Docker的黄金组合 第一次接触服务器运维的朋友,往往会被各种命令行和配置文件搞得晕头转向。我当年也是这样,直到发现了宝塔面板这个神器。它就像给服务器装了个Windows桌面,点点鼠标就能完成80%的运维操作。而Docker更像是乐高…...

生成式AI熔断机制失效的7个致命盲区,92%团队正在踩坑,附Prometheus+OpenTelemetry监控告警清单

第一章:生成式AI应用限流熔断机制的演进与本质困境 2026奇点智能技术大会(https://ml-summit.org) 生成式AI服务在高并发场景下面临的独特负载特征——长尾响应延迟、非线性资源消耗、token级弹性开销——使得传统基于QPS或CPU阈值的限流熔断机制频繁失效。当大模型…...

面向对象高级(枚举泛型)

3.1 认识枚举3.1.1 认识枚举、枚举的原理枚举是一种特殊的类,它的格式是:public enum 枚举类名{枚举项1,枚举项2,枚举项3; }3.1.2 枚举深入既然枚举是一个类的话,我们能不能在枚举类中定义构造器、成员变量、成员方法呢?答案是可以…...

LLM系列:1.python入门:10.函数

函数 一.函数基础 1. def - 定义与封装函数 作用:定义一个自定义函数,封装特定的处理逻辑。函数体内最终返回(return)的不是局部变量本身,而是局部变量指代的对象。 def function_name(param1, param2):""&q…...

微软宣布Windows 11 25H2全部漏洞已解决

据月初Windows Central / Neowin 等消息报道Microsoft Learn(Release Health 页面)所有 Known Issues → Resolved根据微软官方文档,Windows 11 目前已无任何漏洞,所有已知的影响操作系统的问题均已解决。​ ​​ ​版本号&#x…...

别再只会用find(X)了!Matlab数据查找的5个高阶用法,效率翻倍

别再只会用find(X)了!Matlab数据查找的5个高阶用法,效率翻倍 在数据分析领域,Matlab的find函数就像瑞士军刀中的主刀——基础但不可或缺。但许多工程师在使用了几年后,依然停留在find(X>0)这样的基础查询层面,这就像…...

2026届最火的十大降AI率神器横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对于有效降低文本人工智能生成特征而言,能够采取下面这些系统性指令策略。其中其…...

跨境合同怎么签?Docusign国际文件签署的5个隐藏技巧

跨境合同签署的5个Docusign高阶技巧:时区、多语言与合规实战 跨国业务合作中,电子签约已成为企业提升效率的关键工具。作为全球领先的电子签名平台,Docusign不仅提供基础的签署功能,更隐藏着一系列专为跨境场景设计的高级特性。本…...

倒计时37天!2026奇点大会AI问答赛道TOP3方案首次解密:如何用200行代码实现99.2%语义对齐率?

第一章:倒计时37天!2026奇点大会AI问答赛道TOP3方案首次解密:如何用200行代码实现99.2%语义对齐率? 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点大会AI问答赛道中,冠军团队“SemAlign”凭借一套轻量级、…...

DownKyi:3分钟掌握B站视频下载,轻松构建个人离线资源库

DownKyi:3分钟掌握B站视频下载,轻松构建个人离线资源库 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去…...

2026年美容店广告灯箱实力厂商推荐,亮欣灯箱十八年生产经验赋能品牌形象升级

美容行业形象升级的关键:专业广告灯箱的价值凸显在美容行业竞争日益激烈的当下,门店形象成为吸引顾客的第一道关卡。美容店广告灯箱作为品牌视觉传达的重要载体,不仅承担着店铺标识功能,更直接影响消费者对品牌专业度的认知。广州…...