7

我正在尝试在 C++ 中创建小型应用程序,它将返回概率值(从 0 到 1 的实数)以识别视频中的两张图片。我的想法是在某些视频材料中找到广告。我正在考虑从商业广告中删除第一帧以及最后一帧。通过这种方式,我可以使用 OpenCV 创建应用程序,该应用程序将加载视频(电视内容),然后它将搜索从广告中筛选的第一帧。如果它找到它(概率超过 SOME_PARAMETER),那么 app 就可以断定广告从那里开始。然后我想搜索最后一帧,如果找到它(再次以超过 SOME_PARAMETER 的概率),应用程序可以得出结论,想要的广告确实存在于给定的视频中。这只是一个想法。我是 C++ 专家,但对 OpenCV 完全是新手。如果有人可以指出我,或举个例子,将不胜感激。当然,我愿意接受有关想法的任何建议。谢谢,

M。

4

1 回答 1

14

您正在寻找的是 OpenCV 中的模板匹配

要熟悉 OpenCV,您应该开始阅读一些教程,除了书籍之外,网上还有一些不错的书籍。作为一个 C++ 人,您可能会使用OpenCV的 C++ 接口cv::Mat,该接口用作表示图像的主要数据结构。如果您看到IplImage正在使用的数据类型,就知道它来自 C 接口。

在预备课程之后,您最终将需要学习如何从视频中读取帧:

然后如何单独处理这些帧:

最后,您将研究模板匹配的工作原理:

除了模板匹配之外,还有其他方法可以跟踪对象,请查看以下参考:

于 2013-03-25T19:07:47.847 回答