title: OpenCV image recognition app : very good results on desktop but not on android
body: <p>I've built an image recognition app in Python with OpenCV and Kivy for the UI. Basically, the purpose of the app is to recognize a set of cards used in a board game and show an HD numeric version on the screen (with additional informations).</p>
  
  <p>It uses ORB for feature detection and description and Flann for feature matching. Everything works exactly as I want on desktop (Ubuntu 14.10 and Windows 7 and 8) which means I have no false positives.</p>
  
  <p>When I build the app for Android (using buildozer and the last version of Kivy) everything compiles well, and the app runs nicely. The problem is that the recognition seems completely messed up : I now only have false positives ! The code on android and on desktop is almost identical (I just check the database less often for performance purposes) and I use a Kivy Camera widget on both platforms to get the preview.</p>
  
  <p>My guess is that it comes from the different camera providers used by Kivy on Android (camera_android.py) and on Ubuntu (camera_pygst.py) but maybe I am wrong.</p>
  
  <p>Another lead would be to do some sort of camera calibration but I am not sure how to do that. Maybe by tweaking the android.hardware.Camera Parameters ?</p>
  
  <p>Has someone any clue about why the app behaves so differently on both platforms ?</p>