我在Python中用OpenCV和Kivy为UI构建了一个图像识别应用程序。基本上,这个应用程序的目的是识别棋盘游戏中使用的一组卡片,并在屏幕上显示一个高清数字版本(带有附加信息)。在
它采用ORB进行特征检测和描述,Flann用于特征匹配。在桌面(Ubuntu14.10和Windows7和8)上一切都能正常工作,这意味着我没有误报。在
当我为Android构建应用程序(使用buildozer和Kivy的最新版本)时,一切都能很好地编译,而且应用程序运行得很好。问题是,识别似乎完全一团糟:我现在只有假阳性!android和桌面上的代码几乎完全相同(为了性能的目的,我很少检查数据库),而且我在两个平台上都使用Kivy Camera小部件来获得预览。在
我的猜测是它来自于Kivy在Android上使用的不同的摄像头提供商(camera)_安卓.py)在Ubuntu(摄像头)上_pygst.py)但也许我错了。在
另一个线索是做一些相机校准,但我不知道怎么做。也许通过调整android.hardware.Camera参数?在
有人知道为什么这个应用在两个平台上表现如此不同吗?在