我发现很多方法可以检测不同的形状,但是当面对实际物体时就会遇到麻烦。从我所了解的来看,我们应该在图像周围加上黑色边框来生成模式文件。如果我按照这个概念生成一个模式,那么我的应用程序就可以检测打印出来的图像。但是在现实世界中,物理对象并不一定有黑色边框或正方形的形状。
更新
尽管我接受了答案,但我的问题仍未得到解决。因为仍然没有关于如何检测物理对象的解决方案。
欢迎提供进一步的研究和链接!
我发现很多方法可以检测不同的形状,但是当面对实际物体时就会遇到麻烦。从我所了解的来看,我们应该在图像周围加上黑色边框来生成模式文件。如果我按照这个概念生成一个模式,那么我的应用程序就可以检测打印出来的图像。但是在现实世界中,物理对象并不一定有黑色边框或正方形的形状。
更新
尽管我接受了答案,但我的问题仍未得到解决。因为仍然没有关于如何检测物理对象的解决方案。
欢迎提供进一步的研究和链接!
2013年底更新:
我没有使用过这些,但:
Metaio现在提供基于CAD模型的3D跟踪:https://dev.metaio.com/sdk/tutorials/3d-tracking-based-on-cad-data/
ARLab.com的LinkAR承诺进行物体匹配http://www.arlab.com/objecttracking
我要注意一下单词“匹配”- 我认为这里的用例是您知道想要叠加的对象(玩具盒,引擎等),区分多个3D对象可能完全不在范围之内。
2018年5月,Google宣布推出了一个移动SDK - ML Kit,这是一个面向Android和iOS开发人员的机器学习API,您可以与ARCore
SDK一起使用(现在具有增强图像API和增强面部API)。目前仍处于测试阶段,但它具有以下工作功能:
Google ML Kit的工程师们这样评价它:
ML Kit将Google的机器学习专业知识以强大而易于使用的方式带到了Android和iOS应用程序中。无论您是机器学习的新手还是经验丰富的开发者,您都可以在几行代码中实现所需的功能。您无需深入了解神经网络或模型优化即可开始使用。另一方面,如果您是经验丰富的ML开发人员,ML Kit提供了方便的API,帮助您在移动应用程序中使用自定义TensorFlow Lite模型。
使用设备上运行或云中运行的开箱即用解决方案(基本API)或自定义模型将机器学习添加到您的应用程序,具体取决于您的特定需求
。https://developers.google.com/ml-kit - Andy Jazz你考虑过使用OpenCV进行对象检测和跟踪吗?可以看看使用网络摄像头查找对象教程(C++ / Qt)。OpenCV也适用于Android - OpenCV 4 Android。