gpt4 book ai didi

opencv - 什么是 OpenCV 中的 CvBlobTrackerAuto 类?

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:53 24 4
gpt4 key购买 nike

我正在尝试理解作为 OpenCV 示例代码提供的 blobtrack.cpp 代码。在这段代码中,使用了名为 CvBlobTrackerAuto 的类。我试图找到一些 documentation关于这个类,但它没有提供详细的解释。

我对
特别感兴趣CvBlobTrackerAuto::Process(IplImage *pImg, IplImage *pMask = NULL) 函数。这是做什么的,这里使用的这个掩码的任务是什么?

提前致谢

最佳答案

过去几周我一直在使用 CvBlobTrackerAuto。以下是我发现的一些事情。

CvBlobTrackerAuto::Process 用于处理最后捕获的图​​像以更新跟踪信息(blob id 和位置)。实际上,CvBlobTrackerAuto 是一个抽象类,因为它没有为 CvBlobTrackerAuto::Process 提供实现。唯一的具体实现(据我所知)是 CvBlobTrackerAuto1,它可以在 blobtrackingauto.cpp 中找到。

CvBlobTrackerAuto1::Process 所做的是实现以下管道:

  • 前景检测:这会生成对应于前景的二进制掩码。
  • Blob 跟踪:更新 Blob 的位置。它可能会使用均值漂移、粒子滤波器或这些的组合。
  • 后处理:(我不确定这部分的作用)。
  • Blob 删除:根据其中的评论,它是“实验性的且简单的”。它会删除在最后几帧中太小或靠近图像边界的 Blob 。
  • Blob 检测:检测新的 blob。请参阅 enteringblobdetection.cpp。
  • 轨迹生成:(不确定它的作用)。
  • 跟踪分析:(不确定它的作用。但我确实记得我读过代码并确定它对 Blob 跟踪没有影响,所以我禁用了它。)

CvBlobTrackerAuto::Process 的这个特定实现中,pMask 参数根本没有用到。它有一个默认值 NULL 并且它被分配给一个变量一次,只是在一些行之后被覆盖。

samples/c/blobtrack_sample.cpp 中的 OpenCv 示例是围绕此 CvBlobTrackerAuto1 类构建的,为管道中的每个模块提供不同的选项。

希望对你有帮助。

关于opencv - 什么是 OpenCV 中的 CvBlobTrackerAuto 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com