OpenCV视觉分析之目标跟踪(4)目标跟踪类TrackerDaSiamRPN的使用
- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
cv::TrackerDaSiamRPN 是 OpenCV 中用于目标跟踪的一个类,它实现了 DaSiam RPN(Deformable Siamese Region Proposal Network)算法。DaSiam RPN 是一种基于深度学习的目标跟踪算法,常用于视频中的目标跟踪任务。
代码示例
假设你已经有了一个有效的 ONNX 模型文件 dasiamrpn_model.onnx。
#include <iostream>
#include <opencv2/opencv.hpp>int main()
{// 读取视频文件cv::VideoCapture cap( 1 );if ( !cap.isOpened() ){std::cout << "Error opening video file" << std::endl;return -1;}// 读取第一帧cv::Mat frame;cap >> frame;if ( frame.empty() ){std::cout << "Error reading first frame" << std::endl;return -1;}// 选择目标区域cv::Rect2d bbox = cv::selectROI( "Select ROI", frame, false, false );if ( bbox.width <= 0 || bbox.height <= 0 ){std::cout << "No ROI selected" << std::endl;return -1;}// 创建 TrackerDaSiamRPN 对象cv::Ptr< cv::Tracker > tracker = cv::TrackerDaSiamRPN::create();tracker->init( frame, bbox );// 跟踪目标while ( true ){cap >> frame;if ( frame.empty() ){break;}// 更新跟踪结果cv::Rect newBox;bool ok = tracker->update( frame, newBox );// 绘制边界框if ( ok ){cv::rectangle( frame, newBox, cv::Scalar( 0, 255, 0 ), 2, 1 );}else{cv::rectangle( frame, newBox, cv::Scalar( 0, 0, 255 ), 2, 1 );}// 显示结果cv::imshow( "Tracking", frame );if ( cv::waitKey( 1 ) >= 0 ){break;}}return 0;
}
运行结果
跟踪的是一个中性笔的笔头

相关文章:
OpenCV视觉分析之目标跟踪(4)目标跟踪类TrackerDaSiamRPN的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::TrackerDaSiamRPN 是 OpenCV 中用于目标跟踪的一个类,它实现了 DaSiam RPN(Deformable Siamese Region Proposal Net…...
自动对焦爬山算法原理
自动对焦爬山算法原理可以归纳为以下几个关键步骤: (1)初始化: 爬山算法从一个随机或预设的初始位置开始,这个位置代表了镜头的初始焦距。 (2)清晰度评价: 算法首先在当前焦距下捕…...
Hyperledger Fabric有那些核心技术,和其他区块链对比Hyperledger Fabric有那些优势
Hyperledger Fabric是一个模块化、权限化的企业级区块链平台,与比特币、以太坊等公有链相比,Fabric主要为私有链或联盟链设计,适用于企业应用。它包含多项核心技术,使其在企业级区块链应用中具有独特优势。以下是Fabric的核心技术…...
「Mac畅玩鸿蒙与硬件8」鸿蒙开发环境配置篇8 - 应用依赖与资源管理
本篇将介绍如何在 HarmonyOS 项目中高效管理资源文件和依赖,以确保代码结构清晰并提升应用性能。资源管理涉及图片、字符串、多语言文件等,通过优化文件加载和依赖管理,可以显著提升项目的加载速度和运行效率。 关键词 资源管理应用依赖优化…...
【Gorm】传统sql的增删查改,通过go去操作sql
MySQL中的建库,建表,删库,删表,添加记录,查询,删除记录,更新记录这些命令是一定要回的,就算我们脱离 orm 这些,也能直接连接上数据库进行操作。 一、数据库的操作 # 查…...
HTML小阶段二维表和思维导图
下面是对标签、元素、属性的对比二维表,通过对比3w1h(what是什么、where用在哪、why为什么要用、how如何用)来学习区分学习标签、元素、属性 标签 元素 属性 what (Tags)标签是用来标记内容块或标明元素内容意义 …...
AI与低代码的碰撞:企业数字化转型的新引擎
引言 在当今的商业环境中,企业数字化转型已从选择题变成了必答题。面对日益复杂的市场竞争和不断变化的客户需求,传统的开发模式常常显得力不从心——开发周期冗长、技术门槛高、成本居高不下,企业很难快速响应市场变化。而在这种背景下&…...
HarmonyOS应用开发者基础认证——初级闯关习题参考答案大全
相关文章 HarmonyOS应用开发者中级认证——中级闯关习题参考答案大全 HarmonyOS应用开发者高级认证——高级闯关习题参考答案大全 文章目录 HarmonyOS第一课 HarmonyOS介绍判断题单选题多选题 HarmonyOS第一课 DevEco Studio的使用判断题单选题多选题 HarmonyOS第一课 ArkTS语法…...
Vue背景图片自适应大屏与小屏
1,父绝子相 效果是台式看的更多,笔记本看部分。但是图片不会变形 <div class"father" style"width:100%; position:relative"> <img src"test.png" class"son" style"width:1920px; position:a…...
MongoDB 8.0.3版本安装教程
MongoDB 8.0.3版本安装教程 一、下载安装 1.进入官网 2.选择社区版 3.点击下载 4.下载完成后点击安装 5.同意协议,下一步 6.选择第二个Custon,自定义安装 7.选择安装路径 !记住安装路径 8.默认,下一步 9.取…...
【C语言】预处理(预编译)详解(下)(C语言最终篇)
文章目录 一、#和##1.#运算符2.##运算符 二、预处理指令#undef三、条件编译1.单分支条件编译2.多分支条件编译3.判断符号是否被定义4.判断符号是否没有被定义 四、头文件的包含1.库头文件的包含2.本地头文件的包含3.嵌套包含头文件的解决方法使用条件编译指令使用预处理指令#pr…...
[Linux] linux 软硬链接与动静态库
标题:[Linux] linux 软硬链接与动静态库 个人主页水墨不写bug (图片来源于网络) /** _oo0oo_* o8888888o* 88" . "88* (| -_- |)* …...
GitHub Actions的 CI/CD
GitHub Actions 是一个强大的 CI/CD 工具,适用于自动化各种开发任务。GitHub Actions 的原理是基于事件驱动的自动化流水线工具,通过定义触发条件和执行步骤,可以让项目在特定条件下自动运行一系列操作,比如构建、测试、部署等。 …...
doris 表结构批量导出
导出 test 数据库中的 table1 表:mysqldump -h127.0.0.1 -P9030 -uroot --no-tablespaces --databases test --tables table1 导出 test 数据库中的 table1 表结构:mysqldump -h127.0.0.1 -P9030 -uroot --no-tablespaces --databases test --tables tab…...
linux查看文件命令
查看文件命令 显示命令 cat 语法:cat 【选项】 文件 选项 命令含义n显示行号包括空行b显示行号不包括空行s压缩空行为一行A显示隐藏字符 cat -n 文件:显示行号包括空行 cat -b 文件 cat -s 文件 cat -A 文件 more和less是 分页查看 tac和rev都…...
【2023工业图像异常检测文献】DiAD: 基于扩散模型的多类异常检测方法
DiAD: A Diffusion-based Framework for Multi-class Anomaly Detection 1、Background 当前主流的三种异常检测方法: 基于合成的方法:在正常图像上合成异常,通过训练模型识别这些合成的异常来提高检测和定位能力。基于嵌入的方法ÿ…...
三相继电保护机 继电器保护校验仪 微机继电保护测试仪
性能特点 电压电流输出灵活组合 输出达4相电压3相电流,可各种组合实现常规4相电压3相电流型输出模式,既可兼容传统的各种试验方式,也可方便地进行三相变压器差动试验和厂用电快切和备自投试验。 操作方式装置直接外接笔记本电脑或台式机进行…...
MyEclipse中讲解Git使用——结合GitLab
1、什么是Git Git是分布式版本控制系统 Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 2、在myeclipse安装Git插件 下载该文件,将egit.zip解压放入 myeclipse安装路径>dropins>下重新启动myeclipse EGit -…...
pdf转为txt文本格式并使用base64加密输出数据
第一步,pom.xml中引入jar包 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.24</version></dependency> 第二步 package org.example.test.example.changefile;…...
SpringBoot篇(运维实用篇 - 临时属性)
目录 一、临时属性设置 1. 简介 2. 属性加载优先级 那是否还有其他的配置方式呢? 3. 知识小结 二、开发环境中使用临时属性 1. 如何操作 2. 知识小结 3. 思考 三、配置文件分类 1. 简介 2. 4个级别 3. 为什么设计多种配置文件? 一个典型的应…...
DeepSeek-R1-Distill-Llama-8B部署全攻略:一条命令搞定推理模型
DeepSeek-R1-Distill-Llama-8B部署全攻略:一条命令搞定推理模型 1. 模型简介 1.1 什么是DeepSeek-R1系列? DeepSeek-R1是专为推理任务优化的语言模型系列,包含两个核心版本: DeepSeek-R1-Zero:完全通过强化学习训练…...
GlitchTip:开源错误追踪平台完全指南:Sentry替代方案的完整教程
GlitchTip:开源错误追踪平台完全指南:Sentry替代方案的完整教程 背景 在应用开发和运维过程中,错误追踪是保障服务质量的关键环节。Sentry 作为业界领先的错误追踪服务,提供了强大的错误收集和分析能力,但其云服务版…...
Amazon Corretto 17全链路优化指南:从底层原理到企业级实践
Amazon Corretto 17全链路优化指南:从底层原理到企业级实践 【免费下载链接】corretto-17 Amazon Corretto 17 is a no-cost, multi-platform, production-ready distribution of OpenJDK 17 项目地址: https://gitcode.com/gh_mirrors/co/corretto-17 Amazo…...
全流程自动化知识图谱构建:从非结构化数据到智能决策支持
全流程自动化知识图谱构建:从非结构化数据到智能决策支持 【免费下载链接】llm-graph-builder Neo4j graph construction from unstructured data 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-graph-builder 在信息爆炸的时代,企业如何…...
OpenClaw技能扩展指南:为nanobot添加自定义QQ机器人功能
OpenClaw技能扩展指南:为nanobot添加自定义QQ机器人功能 1. 为什么需要QQ机器人集成 去年夏天,我发现自己经常在深夜调试代码时,需要反复切换手机和电脑查看运行结果。这种低效的操作让我开始寻找一种更优雅的解决方案——通过聊天工具直接…...
150万规模!深势开源科学图像界ImageNet,AI终于能看懂论文图表了
150 万图文对、500 万子图,全面覆盖 300 科学子学科。深势开源 OmniScience,让 AI 真正读懂科研文献图表。跨越“盲区”:让AI真正读懂科学影像在科学研究日益数字化的今天,大模型已经能够高效处理书籍与文献中的文本信息。不过&am…...
巨有科技:景区二消低迷?智慧旅游重构盈利模式
门票降价、客流增长但营收不涨,是当下多数景区面临的经营困境。过度依赖门票经济,二次消费(二消)占比低、业态单一,景区盈利空间不断被压缩。2026年文旅行业告别粗放增长,景区盈利重心向二次消费转移&#…...
告别插件冲突!手把手教你手动安装Obsidian动态目录插件(Dynamic Table of Contents)
告别插件冲突!Obsidian动态目录插件手动安装全指南 为什么需要手动安装动态目录插件? Obsidian作为一款强大的知识管理工具,其插件生态让用户能够高度自定义工作流。然而,插件间的兼容性问题常常成为用户痛点。许多用户习惯使用Fl…...
为什么你的AI服务OOM频发?Python智能体内存管理5个致命配置错误,今天必须修复
第一章:AI服务OOM频发的底层归因与诊断路径AI服务在高并发推理或大模型微调场景下频繁触发OOM(Out-of-Memory),表面是内存耗尽,实则根植于资源抽象层与运行时协同机制的结构性失配。现代AI框架(如PyTorch、…...
Charles抓取WebSocket全链路解析:从配置到实战避坑指南
Charles抓取WebSocket全链路解析:从配置到实战避坑指南 WebSocket协议调试一直是开发者的痛点,传统抓包工具难以解析其长连接特性。本文详解如何通过Charles实现WebSocket请求的捕获与分析,包括SSL证书配置、协议升级拦截等核心步骤…...
