/template-matching-android

Augmented Reality Template Matching for >= Android 4.0 using OpenCV

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

Augmented Reality Template Matching for >= Android 4

Approach: Sum of squared differences (SSD)

Android CI

Attention: This app was created in 2016. I was a beginner to Android development and Computer Vision back then. So don't expect a perfect code please. In 2021 I updated the project to build with the latest Android Studio (2020.3.1), updated most dependencies and converted it to Kotlin, while the business logic remained unchanged.

Augmented Reality template matching

Copyright of the logo: Hogeschool PXL

What is this repository for?

  • Takes the real time camera picture and uses it for finding a specified template image using a template matching approach with OpenCV for Android (Java library). Lines are drawn on top of the camera image where the searched object is expected. This can for example be used to find a logo.
  • Be aware that template matching doesn't allow any rotations or zooming of the camera. Hold the camera without dip and at the 1:1 correct zoom. Otherwise the template image won't be found within the camera image.
  • This app is using a gray scale live image for performance reason. This could easily be changed to search in color live images too.
  • More computer vision projects at https://michaeltroger.com/computervision/

How do I get set up?

  • IDE: Android Studio (tested with 2020.3.1)
  • Android SDK
  • Dependencies: OpenCV 3 library (included) License
  • Template image location: res/drawable - Image is referenced in MainActivity

Test image

Used default template image:

Copyright of the logo: Hogeschool PXL

Test with filming the logo at the top left at http://www.pxl.be/

Author

Michael Troger

Credits