I'm working on a project where I need to be able to see the difference between all 4 playing card symbols: heart, spade, diamond and club in real-time. This means that the angle, lighting, and distance to the symbol(s) constantly change (and therefore detecting objects based on contour area won't be an option).
So when I hold a heart symbol in front of my camera I'm trying to draw the word 'heart' inside it. if I do the same with a spade, I want it to write "spade", etc.
I have tried doing this in various different ways, but all attempts failed or didn't work as good as I want it to.
The methods I've tried:
- haarcascades
- template matching, doesn't work due to the rotations that are possible
- color detection, which only does half the job since there are 2 symbols per color
- feature matching: this tutorial doesn't work because the symbols don't have enough detail to find the keypoints
I can add source codes of these attempts if needed, but I don't think it will add any value, since they didn't really get me anywhere.
The Images I'm using:
