我正在做一个增强现实游戏,它需要识别和跟踪一个快速移动的物体。我尝试过以下图像处理库,
1. Opencv
2. BoofCv
3. FastCv
我尝试过TLD算法来跟踪目标,跟踪是成功的,但性能确实需要改进。如果对象移动得更快,则由于算法占用的处理时间,结果需要时间。我还用boofcv尝试了循环,均值漂移之类的算法。
查看这些演示:
这两个演示中的对象跟踪似乎很好,但计算需要时间。
我能用下面的场景来更快地做到这一点吗,
有什么更好的方法吗?
发布于 2014-03-22 13:46:43
我建议用灰度代替RGB,就像通常在图像处理中那样,这样你的计算就会减少到1矩阵而不是3。
如果您需要检查颜色,只需在需要时使用rgb,而不是整个计算过程。
跟踪快速运动的物体总是很困难的。尝试使用可以每秒拍摄更多帧的照相机,尽管您需要处理更多的图像,我想您是在移动设备上。
另外,您可以做的是将正在处理的图像缩小到一个更小的窗口,根据前面的对象位置,您可以估计下一个位置,并将其限制在一定的向量化范围内,并且只处理图像中的一些位。简单地说,只在图像的某些部分执行光流(使用灰度)。
发布于 2014-03-24 05:36:24
我认为、SIFT、和SURF算法最适合这一目的。SIFT或SURF可以像任何其他特征检测器和提取器一样使用:
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学习更多信息。当然,你的方式可能是找到解决这个问题的办法。继续试试看。
https://stackoverflow.com/questions/22557393
复制相似问题