首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >opencv4android进行对象跟踪

opencv4android进行对象跟踪
EN

Stack Overflow用户
提问于 2015-07-15 16:10:18
回答 1查看 1K关注 0票数 0

我使用ffmpeg在安卓项目的SurfaceView上播放视频流。现在,我想实现以下特性。1)通过在SurfaceView上绘制一个红色矩形来选择一个对象。2)将所选对象的x、y、宽度、高度和原始视频帧发送到opencv。3)然后,opencv通过处理新的视频帧返回对象的新x和y。

以前有人做过吗?我会非常感谢你给我一些建议,或告诉我很好,我可以下载演示源代码。非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-15 17:43:50

对于第(1)部分,尝试搜索更多的谷歌。不难找到使用触摸输入的教程、绘制矩形的教程和用于绘制SurfaceView的教程。第(2)部分是通过如何设置和定义变量来完成的--没有一个特定的机制或函数可以“发送”数据。

第(3)部分是不明显的部分,所以这是我要关注的部分。与计算机视觉中的大多数问题一样,您可以通过多种方式解决目标跟踪问题。在没有特定顺序的情况下,所想到的包括:

  • 光流- Python openCV的例子是这里
    • Lucas-该算法将提取的特征逐帧进行比较.默认情况下,这些特性是SIFT,但也可以是简短的、ORB、SIFT/SURF或任何其他功能。如果功能的数量在100的数量级内是合理的,这就足够快了。
    • 稠密法--该算法对连续帧进行比较,生成运动方向和幅度的密集矢量场。

  • 直接图像配准-如果帧间的运动小于摄像机视场的5-15%,则可以快速有效地将前一幅图像映射到当前图像。但是,这个特性并不在普通的OpenCV包中--您需要下载并编译contrib模块,并使用Android。如果您是Java和C++的初学者,我不建议使用它。
  • 模板匹配 [示例] --如果物体和相机的方向变化不大的话,它很有用而且便宜。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31435661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档