Identifying an object in an image by shape and color

Hi, I want to identify which icon is the same between two cards in a doubles game (each picture consists of 8 icons so that between every two pictures one icon is the same).
Each instance of an icon is a different size and angle but the shape and color are the same.

(the simmilar icon is water drop)
I thought about saving images of all the icons that exist (21 in total) and determining for each of them whether it exists on the current card or not.
Is the idea a good idea and what is the best way to implement it?

related:

I would go with:

  • keypoints detection and descriptors extraction,
  • descriptors matching and using the Lowe’s ratio test to reject bad matches,
  • homography or affine estimation to further ignore bad keypoints matching.

Note: this is one solution, but they are plenty of options for this kind of tasks.