使用 openCV 查找图像轮廓

2024-04-19

因为我想跟踪物体的运动,所以我需要图像序列的轮廓。 有人知道怎么做这个吗? 轮廓蒙版是一个二值图像,在运动发生处具有非零像素


您可以使用以下技术背景扣除。这里有两种方法。

  1. 从当前帧中减去前一帧。只有两个帧中未发生变化的像素才会导致零。看cvSub http://opencv.willowgarage.com/documentation/c/core_operations_on_arrays.html#sub, 简历绝对差异 http://opencv.willowgarage.com/documentation/c/core_operations_on_arrays.html#absdiff.
  2. 维持一个运行平均值的视频帧。查看功能CV运行平均值 http://opencv.willowgarage.com/documentation/c/imgproc_motion_analysis_and_object_tracking.html#runningavg in the 运动分析和对象跟踪 http://opencv.willowgarage.com/documentation/c/imgproc_motion_analysis_and_object_tracking.htmlOpenCV 文档的部分。对于每个新帧,从当前帧中减去运行平均值。完成后,用当前帧更新运行平均值。

使用上述方法之一后,您可以使用以下方法分割生成的差异图像CV阈值 http://opencv.willowgarage.com/documentation/c/imgproc_miscellaneous_image_transformations.html#threshold or cv 自适应阈值 http://opencv.willowgarage.com/documentation/c/imgproc_miscellaneous_image_transformations.html#adaptivethreshold。这将生成二值图像,理想情况下,图像静态时为零,存在运动时为 1 或 255。

尽管您在问题中没有提到这一点,但您可以继续计算二值图像的轮廓。有CV查找轮廓 http://opencv.willowgarage.com/documentation/c/imgproc_structural_analysis_and_shape_descriptors.html#findcontours为了那个原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 openCV 查找图像轮廓 的相关文章

  • 如何使用movntdqa避免缓存污染?

    我正在尝试编写一个 memcpy 函数 该函数不会将源内存加载到 CPU 缓存中 目的是避免缓存污染 下面的 memcpy 函数可以工作 但会像标准 memcpy 一样污染缓存 我正在使用带有 Visual C 2008 Express 的
  • 无法使用 Unity 函数在 Visual Studio Code 中获得完整的 Intellisense

    好吧 我知道这个问题已经被问过并回答过很多次了 但我花了大约 3 天的时间试图解决这个问题 但到目前为止我所做的一切都没有奏效 我基本上在 Visual Studio Code 中有部分智能感知 也就是说 它似乎只识别 Unity 类和变量
  • ApiController 操作无法从查询字符串解析数组

    使用 Visual Studio 2012 2 MVC4 Web 应用程序 我有请求发送到我的 ApiController 如下所示 http localhost api keys ids 1 ids 2 ids 3 我的印象是以下方法应该
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • C# - 如何将 IntPtr 缓冲区数据保存到文件(最快的方法)?

    我使用此代码将非托管代码中的 IntPtr 缓冲区中的字节保存到文件中 这是一个简单的回调函数 private void callback IntPtr buffer int length byte bytes new byte lengt
  • 在 C 程序中追踪数组越界访问/写入的推荐方法

    考虑用 C 语言编写一些不太明显的算法的实现 例如 让它成为递归快速排序 我在 K N King 的 C 编程 现代方法 第二版 书中找到了它 可以从here http knking com books c2 programs qsort
  • 使用 C 创建立体声正弦波

    我正在尝试用 C 创建立体声正弦 WAV 并且可能有不同的 可能是空白的 左声道和右声道 使用此函数为每个通道生成一个音调 int16 t create tone float frequency float amplitude float
  • 使用经度和纬度查找给定距离内的所有附近客户

    我有一个包含客户经度和纬度的数据库 我有一个搜索表单 用户将在其中输入日志 纬度 距离下拉列表包含 50 英里 100 英里 当用户单击搜索时 我想编写一个 linq 查询从数据库中获取此距离半径内的所有客户 如何使用 C 和 linq 来
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序
  • 使用 cryptoapi CryptImportKey 导入公钥时出错

    我想将公钥 blob 导入到 CSP 但发生了错误 BYTE pbData 0xEB 0x2A 0x38 0x56 0x86 0x61 0x88 0x7F 0xA1 0x80 0xBD 0xDB 0x5C 0xAB 0xD5 0xF2 0x
  • 如何使用 Caliburn.Micro MVVM 将焦点设置到控件

    我有一个表单 我想在发生某些用户操作时将焦点设置到文本框 我知道 MVVM 的处理方式是绑定到 VM 属性 但是 TextBox 没有允许这种情况发生的属性 从虚拟机设置焦点的最佳方法是什么 我创建了一个 IResult 实现 可以很好地实
  • 如何带参数调用外部程序?

    我想在我的代码中调用一个 Windows 程序 并使用代码本身确定的参数 我不想调用外部函数或方法 而是调用 WinXP 环境中的实际 exe 或批处理 脚本文件 C 或 C 将是首选语言 但如果使用任何其他语言更容易完成此操作 请告诉我
  • 为什么 OOP 中静态类的最佳实践有所不同?

    我目前正在阅读有关 Java 最佳实践的内容 我发现根据这本书 https rads stackoverflow com amzn click com 0321356683我们必须优先选择静态类而不是非静态类 我记得在 C 最佳实践中 我们
  • 在同一条线上铸造两次

    我在项目中看到了这段代码 b的类型是void void b int a int unsigned long b 这条线毫无意义吗 我的意思是 这与a int b在所有情况下 这可能会避免 64 位 Unix 系统上的编译器警告unsigne
  • Yield Return == IEnumerable 和 IEnumerator 吗?

    Is yield return实施的捷径IEnumerable and IEnumerator 是的 您可以在我的书 C in Depth 的第 6 章中找到更多相关信息 幸好第六章是免费提供 http www manning source
  • lambda 表达式是多线程的吗?

    lambda 表达式是多线程的吗 假设当你将数学公式编写为 lambda 方法时 当你将其传递给另一个方法时 它会是多线程的吗 不是100 清楚你问的是什么 您是否想问 lambda 是否自然地在不同的线程上运行 如果是这样 则它们只是 S
  • 为了清楚起见,是否应该在返回类型上使用无用的类型限定符?

    当我们的头文件中有原型时 我们的静态分析工具会抱怨 返回类型上有无用的类型限定符 例如 const int foo 我们这样定义它是因为该函数返回一个永远不会改变的常量 认为 API 看起来更清晰const到位 为了清楚起见 我觉得这类似于
  • 在 WPF 树视图中获取 FullPath?

    如果我以编程方式创建 WPF TreeView 例如 TreeView treeView lt added in the designer TreeViewItem rootNode new TreeViewItem rootNode He
  • 使用 wmi 获取活动会话(Win32_LogonSession 还返回非活动/旧会话)

    有没有办法只显示 wmi 的活动会话 问题是 Win32 LogonSession 还显示不活动 断开连接的会话 ManagementScope scope new ManagementScope ManagementPath Defaul

随机推荐

  • 清除整个控制台而不闪烁c#

    我见过this https stackoverflow com questions 8946808 can console clear be used to only clear a line instead of whole consol
  • 深度图三.js

    Three js中有没有办法获取深度图 我感兴趣的是制作类似于 Kinect 为给定场景制作的东西 我遇到了一种不使用颜色和雾来模仿这一点的黑客方法 但这并不理想 因为它会使用两个不同的场景并且会因光照而变化 我认为执行此操作的另一种方法是
  • JavaScript 对象字面量语法

    如果 JavaScript 对象字面量的语法是 label value label value 那么为什么我看到有些人在他们的代码中使用这个呢 window 它的目的是什么 我已经尝试过了 它的评估结果是window就像没有大括号一样 它甚
  • onKeyDown 事件不适用于 React 中的 div

    我想在 React 中的 div 上使用 keyDown 事件 我愿意 componentWillMount document addEventListener keydown this onKeyPressed bind this com
  • 如何解决Mac上flutter中“运行pod install时出错”的问题?

    当我尝试在 iPhone 上启动我的项目时出现错误 基本的 Flutter 示例在我的 iPhone 上运行 但当我使用我的项目时出现此错误 在Flutter项目中 我也遇到了这个问题 通过将 flutter 和 cocoa pod 更新到
  • R - 安装插入符号包时出错

    gt Error in loadNamespace j lt i 1L c lib loc libPaths gt versionCheck vI j namespace pbkrtest 0 4 2 is being gt loaded
  • 使用 .Net 的 Oracle 高级队列

    有人知道如何使用 PL SSQL 和 ODP NET 从 C 实现 Oracle Advance Queue 我找不到包含 C 或 VB NET 中具体示例的单个示例或资源 理想情况下 我想要一些关于如何使用简单类型 XMl 字符串 将消息
  • php DatePeriod 未按预期返回 2 天

    我尝试获取一段时间内的所有日期 无论是一整天还是几个小时都没关系 我当前使用 DatePeriod 的代码对我不起作用 Example start gt DateTime Object date gt 2014 01 27 22 40 40
  • 为什么 std::sort 抱怨已删除的复制者?

    假设我们有一个简单的类 其中包含std string class StringWrapper public const std string s StringWrapper const std string s s s We want th
  • 如何处理返回带有“有效负载”的 JavaScript 的 JavaScript fetch() ?

    我正在尝试使用 JavaScript 的现有后端代码 fetch someURL then res gt res json then data gt console log data 但是 我注意到响应标头说 content type ap
  • R 中 dygraphs 包(使用 JavaScript)中 dygraph 中的日期错误

    我使用一个绘制了一个dygraphdygraph函数从一个dygraphs http rstudio github io dygraphs 包裹 我的数据是从日期 2014 12 10 到 2014 12 17 gt str seriesX
  • 以编程方式获取应用程序池标识

    如何在 C 中以编程方式获取 appPool 的标识 我想要应用程序池用户而不是当前登录的用户 你可以使用System Security Principal WindowsIdentity GetCurrent Name识别当前应用程序正在
  • 需要正则表达式来匹配特殊情况

    我正在拼命寻找与这些场景匹配的正则表达式 1 匹配交替字符 我有一个像 这是我的 foobababababaf 字符串 这样的字符串 我想匹配 babababa 我唯一知道的是要搜索的片段的长度 我不知道可能是什么字符 数字 但它们是交替的
  • 间歇性 MongoDB 连接问题:尝试以访问权限禁止的方式访问套接字

    当尝试将文档写入我的集合时 我偶尔会抛出以下异常 我正在使用 mLabs 托管的 MongoDB 3 0 7 我们的应用程序托管在 Azure 中 作为 Web 应用程序 我使用的是 C 2 2 3 SDK MongoDB Driver M
  • C++:“我的文本”是 std::string、*char 还是 c 字符串?

    我刚刚做了看似的事情新手常见的错误 https stackoverflow com questions 721129 spot the error in this file reading code c 首先我们读到许多教程之一 http
  • Heroku CLI 突然损坏

    突然 从一个命令到下一个命令 Heroic CLI 停止工作 无论我在命令行中输入什么内容 我都会收到相同的错误 见下文 heroku help commands is not a heroku command Perhaps you me
  • boto3 S3 对象解析

    我正在尝试编写一个 Python 脚本来处理存储在 S3 上的音频数据 我有一个 S3 对象 我正在使用它调用 def grabAudio filename directory obj s3client get object Bucket
  • 什么是 java.lang.Class[]

    What is java lang Class Thanks Puneet 参数化类型的类型参数不限于具体的 类或接口 Java 允许使用类型通配符作为 参数化类型的类型参数 通配符是类型参数 以 的形式 可能有上限或下限 鉴于 通配符表示
  • Rscript执行错误:没有那个文件或目录

    Rscript 的二进制文件可用 但当我尝试使用它时 我得到 Rscript helloworld r Rscript execution error No such file or directory 如果我只做 Rscript 它会带来
  • 使用 openCV 查找图像轮廓

    因为我想跟踪物体的运动 所以我需要图像序列的轮廓 有人知道怎么做这个吗 轮廓蒙版是一个二值图像 在运动发生处具有非零像素 您可以使用以下技术背景扣除 这里有两种方法 从当前帧中减去前一帧 只有两个帧中未发生变化的像素才会导致零 看cvSub