I am using opencv for finding template images in a video stream. The elements I am trying to find are UI elements of android apps.
Classic template matching is working quite well. But only as long as the scene and the template share the same resolution. My requirement is to have this working for different scene resolutions (different devices).
What I tried so far is:
- Rescaling the template at different resolutions in a loop and checking. As soon as my result increases above a certain threshold, I consider it a match. Problem: Not very robust, extremely slow
- AKAZE and ORB: Don't really provide the expected results. I don't know if I am missing something, but it doesn't look like those algorithms are made for what I am trying to do. I am getting results like this:
Any help or ideas are highly appreciated!
A couple of examples: