OpenCV C++基于CNN模型的目标检测
这个程序使用opencv dnn_objdetect模块加载一个caffe模型进行目标检测。输入的两张图片左边是飞机右边是公共汽车程序运行后会显示识别出来的图片cmd里也会输出一些信息以第一张图片为例解释一下cmd里的输出类别是飞机置信度是0.845box的左上角坐标是(41,116).右下角坐标是(415,254).代码#include opencv2/core_detect.hpp int main() { Mat img imread(cat.jpg); Net net readNetFromCaffe(SqueezeDet_deploy.prototxt, SqueezeDet.caffemodel); Mat original_img(img); imshow(src, img); resize(img, img, Size(416, 416)); Mat img_copy(img); img.convertTo(img, CV_32FC3); Mat input_blob blobFromImage(img, 1.0, Size(), Scalar(104, 117, 123), false); vectorMat outblobs(3); vectorString out_layers; out_layers.push_back(slice); out_layers.push_back(softmax); out_layers.push_back(sigmoid); vectorMat temp_blob; net.setInput(input_blob); net.forward(temp_blob, out_layers[0]); outblobs[0] temp_blob[2]; net.setInput(input_blob); outblobs[1] net.forward(out_layers[1]); net.setInput(input_blob); outblobs[2] net.forward(out_layers[2]); int delta_bbox_size[3] {23, 23, 36}; Mat delta_bbox(3, delta_bbox_size, CV_32F, outblobs[0].ptrfloat()); int class_scores_size[2] {4761, 20}; Mat class_scores(2, class_scores_size, CV_32F, outblobs[1].ptrfloat()); int conf_scores_size[3] {23, 23, 9}; Mat conf_scores(3, conf_scores_size, CV_32F, outblobs[2].ptrfloat()); InferBbox inf(delta_bbox, class_scores, conf_scores); inf.filter(0.7); float x_ratio (float)original_img.cols / img_copy.cols; float y_ratio (float)original_img.rows / img_copy.rows; for (size_t i 0; i inf.detections.size(); i) { int xmin inf.detections[i].xmin; int ymin inf.detections[i].ymin; int xmax inf.detections[i].xmax; int ymax inf.detections[i].ymax; String class_name inf.detections[i].label_name; cout Class: class_name \n Probability: inf.detections[i].class_prob\n Position: inf.detections[i].xmin inf.detections[i].ymin inf.detections[i].xmax inf.detections[i].ymax \n; rectangle(original_img, Point((int)(xmin * x_ratio), (int)(ymin * y_ratio)), Point((int)(xmax * x_ratio), (int)(ymax * y_ratio)), Scalar(0, 0, 255), 1); putText(original_img, class_name, Point((int)(xmin * x_ratio), (int)(ymin * y_ratio)),FONT_HERSHEY_SIMPLEX, 0.7, Scalar(0, 0, 255), 1); } imshow(dst, original_img); waitKey(); }SqueezeDet_deploy.prototxt在opencv dnn_objdetect模块里有提供。SqueezeDet.caffemodel从下面这个链接里下载GitHub - opencv/opencv_3rdparty at dnn_objdetect_20170827 · GitHub这个模型可以检测的类别可以从这里获取https://raw.githubusercontent.com/opencv/opencv/3.4.0/samples/data/dnn/synset_words.txt

相关新闻

拷贝漫画第三方客户端:纯粹漫画阅读体验的完美解决方案

拷贝漫画第三方客户端:纯粹漫画阅读体验的完美解决方案

拷贝漫画第三方客户端:纯粹漫画阅读体验的完美解决方案 【免费下载链接】copymanga 拷贝漫画的第三方APP,仅提供基础功能,更多丰富功能请移步官方版本 项目地址: https://gitcode.com/gh_mirrors/co/copymanga 你是否厌倦了那些充满广…

2026/10/10 6:41:54 阅读更多 →
WebRTC中PeerConnection添加Track的完整流程解析

WebRTC中PeerConnection添加Track的完整流程解析

1. 媒体流传输基础概念解析 在实时音视频通信领域,PeerConnection(PC)作为WebRTC的核心组件,承担着媒体流传输的关键角色。理解Track如何被添加到PC中,是掌握WebRTC媒体处理流程的重要切入点。MediaStreamTrack&#x…

2026/10/11 4:26:38 阅读更多 →
Unity游戏原型产品化实战:从玩法到可发布移动游戏的完整开发链路

Unity游戏原型产品化实战:从玩法到可发布移动游戏的完整开发链路

在移动游戏开发领域,尤其是面向休闲玩家的超休闲游戏,如何将一个简单的核心玩法包装成一个完整、可玩、且能通过应用商店审核的独立应用,是许多独立开发者和小型团队面临的实际挑战。我们经常看到一些有趣的网页小游戏或原型,它们…

2026/10/11 5:09:25 阅读更多 →

最新新闻

分布式微服务架构设计原理:从踩坑到落地的工程实践

分布式微服务架构设计原理:从踩坑到落地的工程实践

1. 项目概述:为什么今天还在谈“分布式微服务架构设计原理”?“一、分布式微服务架构设计原理”——这个标题看起来像教科书第一章,甚至有点老派。但如果你最近参与过任何中大型系统重构、云原生迁移、或被线上故障凌晨三点叫醒排查“明明单个…

2026/10/12 5:04:58 阅读更多 →
给本地模型换上温润的嗓音:离线轻量 TTS 语音合成在个人工作台的部署实录

给本地模型换上温润的嗓音:离线轻量 TTS 语音合成在个人工作台的部署实录

夜深了,窗外的秋风将枯叶吹得在水泥地面上轻轻摩擦,发出细碎沙沙的声响。我坐在书桌前,盯着发光的屏幕看了一整天的前端代码与样式调试,眼睛隐隐泛起一阵酸涩。 这个时候,最惬意的事情莫过于靠在椅背上,合起…

2026/10/12 5:04:58 阅读更多 →
SVS转TIFF:病理图像工程师的金字塔解包与内存优化实战

SVS转TIFF:病理图像工程师的金字塔解包与内存优化实战

简介:本资源是一款专为数字病理图像处理工程师与生物信息分析人员设计的SVS格式转TIFF格式工具,解决江丰生物KFB切片经官方软件转换后仅显示左上角区域、无法满足ASAP标注需求的工程痛点。资源提供轻量级转换脚本及配套说明,支持将KFB→SVS→…

2026/10/12 5:04:58 阅读更多 →
HTTP 状态码与 HTTPS 加密机制

HTTP 状态码与 HTTPS 加密机制

一、状态码200 OK:表示成功404 Not Found:访问的资源没找到。URL标识的资源不存在。403 Forbidden:访问被拒绝,没有权限405 Method Not Allowed:对方服务器不一定支持 HTTP 中的方法(比如:GET、…

2026/10/12 5:04:58 阅读更多 →
Redis 高并发业务场景落地实战指南

Redis 高并发业务场景落地实战指南

在高并发场景下,系统架构的稳定性往往取决于几个关键细节的处理。很多开发者在初期只关注业务功能的实现,一旦流量上来,库存超卖、会话丢失、缓存击穿等问题就会接踵而至,轻则导致数据不一致,重则引发服务雪崩。这些问…

2026/10/12 5:04:58 阅读更多 →
Linux ln命令详解:硬链接与软链接的原理、区别及实战

Linux ln命令详解:硬链接与软链接的原理、区别及实战

在 Linux 文件系统的日常操作和面试中,ln命令几乎是一个绕不开的话题。很多人能背出“硬链接是 inode 不变,软链接类似于快捷方式”,但一旦遇到删除源文件、跨文件系统、相对路径链接这些具体场景,还是会卡壳。这篇文章会从文件系…

2026/10/12 5:03:58 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →