我正在尝试创建一个用于使用 openCV 从相机检测对象的 android 应用程序,我阅读了 openCV 参考资料,发现有很多图像检测方法,
我的目的是创建一个应用程序
1)应用程序可以在实时相机帧上检测数据库中的任何对象(可以检测到的对象集)。(处理/检测速度很重要)
2)对象图像的数据库将不时更新。(数据库最好在外部服务器上) - 这是否意味着我不能使用级联分类器、HOG 或任何机器学习方法?
3) 相机帧有时可能有两个或多个在数据库中的对象,在这种情况下都可以检测到吗?
我尝试使用 ORB 检测和描述以及蛮力匹配进行简单的特征检测,但可以检测几乎任何物体甚至墙壁 - 误报检测。(使用 SIFT 或 SURF 进行测试甚至会引发错误)
FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB);
DescriptorExtractor extractor = DescriptorExtractor.create(DescriptorExtractor.ORB);
DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE);
我不需要任何单应性或透视,因为我不会投射任何东西,只是一种检测物体存在的强大方法。