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/8/7 13:09:11 阅读更多 →
WebRTC中PeerConnection添加Track的完整流程解析

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

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

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

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

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

2026/8/7 13:09:10 阅读更多 →

最新新闻

AudioSR音频超分辨率:5分钟学会用AI提升任意音频至48kHz专业品质的终极指南

AudioSR音频超分辨率:5分钟学会用AI提升任意音频至48kHz专业品质的终极指南

AudioSR音频超分辨率:5分钟学会用AI提升任意音频至48kHz专业品质的终极指南 【免费下载链接】versatile_audio_super_resolution Versatile audio super resolution (any -> 48kHz) with AudioSR. 项目地址: https://gitcode.com/gh_mirrors/ve/versatile_audi…

2026/8/7 14:04:40 阅读更多 →
2026年毕业论文选题软件选购必看:五大主流平台全方位避坑实测

2026年毕业论文选题软件选购必看:五大主流平台全方位避坑实测

2026年的毕业季,又将有1176.3万高校毕业生涌入论文修罗场(教育部预估数据),光是‘毕业论文选题’这一步,就能让无数人熬到脱发。选题偏了重写、文献找不到抓狂、格式改到凌晨三点,如果你还在用传统方式硬扛…

2026/8/7 14:04:40 阅读更多 →
线性代数可视化终极指南:5种矩阵分解的艺术与科学

线性代数可视化终极指南:5种矩阵分解的艺术与科学

线性代数可视化终极指南:5种矩阵分解的艺术与科学 【免费下载链接】The-Art-of-Linear-Algebra-zh-CN Graphic notes on Gilbert Strangs "Linear Algebra for Everyone", 线性代数的艺术中文版, 欢迎PR. 项目地址: https://gitcode.com/gh_mirrors/th/…

2026/8/7 14:04:40 阅读更多 →
Fiddler进阶:从抓包工具到网络调试与安全测试的瑞士军刀

Fiddler进阶:从抓包工具到网络调试与安全测试的瑞士军刀

你肯定见过这样的场景:一个看似简单的技术工具,第一次用的时候顺风顺水,感觉“就这?”,结果真到了要批量处理、要稳定运行、要集成到流程里的时候,才发现到处都是坑。Fiddler 这个老牌的网络调试代理工具&a…

2026/8/7 14:04:40 阅读更多 →
Fillinger智能填充脚本:Adobe Illustrator设计师的终极效率神器

Fillinger智能填充脚本:Adobe Illustrator设计师的终极效率神器

Fillinger智能填充脚本:Adobe Illustrator设计师的终极效率神器 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在Adobe Illustrator中手动排列几十个、上百个设计元素…

2026/8/7 14:04:40 阅读更多 →
Game Bub架构详解:FPGA与ESP32-S3如何协作实现掌机模拟?

Game Bub架构详解:FPGA与ESP32-S3如何协作实现掌机模拟?

Game Bub架构详解:FPGA与ESP32-S3如何协作实现掌机模拟? 【免费下载链接】gamebub Open-source FPGA retro emulation handheld 项目地址: https://gitcode.com/gh_mirrors/ga/gamebub Game Bub是一款开源FPGA复古模拟掌机,通过FPGA与…

2026/8/7 14:03:40 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →