首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android系统中运动速度最快的物体识别与跟踪

Android系统中运动速度最快的物体识别与跟踪
EN

Stack Overflow用户
提问于 2014-03-21 11:21:14
回答 2查看 9.8K关注 0票数 9

我正在做一个增强现实游戏,它需要识别和跟踪一个快速移动的物体。我尝试过以下图像处理库,

1. Opencv

2. BoofCv

3. FastCv

我尝试过TLD算法来跟踪目标,跟踪是成功的,但性能确实需要改进。如果对象移动得更快,则由于算法占用的处理时间,结果需要时间。我还用boofcv尝试了循环,均值漂移之类的算法。

查看这些演示:

使用OpenTLD的FastCv

Boofcv演示

这两个演示中的对象跟踪似乎很好,但计算需要时间。

我能用下面的场景来更快地做到这一点吗,

  1. 提取待跟踪对象的r,g,b矩阵
  2. 获取摄像机帧,并将其转换为r,g,b矩阵,并搜索相机帧中的跟踪对象矩阵。

有什么更好的方法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-03-22 13:46:43

我建议用灰度代替RGB,就像通常在图像处理中那样,这样你的计算就会减少到1矩阵而不是3。

如果您需要检查颜色,只需在需要时使用rgb,而不是整个计算过程。

跟踪快速运动的物体总是很困难的。尝试使用可以每秒拍摄更多帧的照相机,尽管您需要处理更多的图像,我想您是在移动设备上。

另外,您可以做的是将正在处理的图像缩小到一个更小的窗口,根据前面的对象位置,您可以估计下一个位置,并将其限制在一定的向量化范围内,并且只处理图像中的一些位。简单地说,只在图像的某些部分执行光流(使用灰度)。

票数 4
EN

Stack Overflow用户

发布于 2014-03-24 05:36:24

我认为、SIFT、SURF算法最适合这一目的。SIFT或SURF可以像任何其他特征检测器和提取器一样使用:

代码语言:javascript
复制
FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB); 
// May be SIFT,   SURF, etc 
detector.detect(mat, keypoints); 
DescriptorExtractor extractor =     DescriptorExtractor.create(DescriptorExtractor.ORB); 
// May be SIFT, SURF, etc 
extractor.compute(mat, keypoints, features);

使用openCv学习更多信息。当然,你的方式可能是找到解决这个问题的办法。继续试试看。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22557393

复制
相关文章

相似问题

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