如何使用OpenCV在视频上查找对象

How to find object on video using OpenCV

本文关键字:查找 对象 视频 何使用 OpenCV      更新时间:2023-10-16

要跟踪视频帧上的对象,首先我从视频中提取图像帧并将这些图像保存到文件夹中。然后我应该处理这些图像以找到一个对象。实际上我不知道这是否是一件实际的事情,因为所有的算法都做了一个步骤。这是对的吗?

好吧,您的方法将占用磁盘上的大量空间,具体取决于视频的大小和帧的大小,而且您将花费大量时间从磁盘读取帧。

您是否尝试过执行实时视频处理?如果你的算法不是太慢,有一些帖子显示了你需要做的事情:

  • 这篇文章演示了如何使用OpenCV的C接口执行一个函数,将网络摄像头捕获的帧(即时)转换为灰度并显示在屏幕上;
  • 这篇文章展示了一种使用 C++ 界面检测图像中正方形的简单方法;
  • 这篇文章与上面的帖子略有不同,并展示了如何检测纸张;
  • 此线程显示了执行高级方形检测的几种不同方法。

我相信您有能力将代码从 C 接口转换为 C++ 接口。

如果您使用的是OpenCV,则存储视频帧是没有意义的,因为它具有非常方便的方法来实时捕获相机/存储的视频中的帧。

在这篇文章中,您有一个从视频中捕获帧的示例代码。

然后,如果要检测这些帧上的对象,则需要使用检测算法处理每个帧。OpenCV带来了一些与该主题相关的示例代码。例如,您可以尝试使用 SIFT 算法来检测图片。