Hello,
I am starting to work on OpenCV college project, and as a part of this I need to build an app that will recognize a selected sprite from the game.
So far I am able to recognize faces by using cascade classifiers, however in this scenario it's too resource consuming. Each sprite has 4 - 8 variations only, therefore, I though it's better to recognize it as shape.
Is there anyone experienced who could assist me with this?
Here is the code I wrote
![[Image: GTYbJQw]](https://ibb.co/GTYbJQw)

https://ibb.co/GTYbJQw
https://ibb.co/r2C4b0y
After 2 days of reaserching various options my feelings are that this task is not doable... If someone can provide some help I would be super grateful
I am starting to work on OpenCV college project, and as a part of this I need to build an app that will recognize a selected sprite from the game.
So far I am able to recognize faces by using cascade classifiers, however in this scenario it's too resource consuming. Each sprite has 4 - 8 variations only, therefore, I though it's better to recognize it as shape.
Is there anyone experienced who could assist me with this?
Here is the code I wrote
import cv2 import numpy as np from matplotlib import pyplot as plt # import pics img = cv2.imread('../pics/screen.jpg',0) img2 = cv2.imread('../pics/screen.jpg',0) template = cv2.imread('../pics/sprite.jpg',0) w, h = template.shape[::-1] print (w) # All the 6 methods for comparison in a list methods = ['cv2.TM_CCOEFF', 'cv2.TM_CCOEFF_NORMED', 'cv2.TM_CCORR', 'cv2.TM_CCORR_NORMED', 'cv2.TM_SQDIFF', 'cv2.TM_SQDIFF_NORMED'] for meth in methods: img = img2.copy() method = eval(meth) # Apply template Matching res = cv2.matchTemplate(img,template,method) min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res) # If the method is TM_SQDIFF or TM_SQDIFF_NORMED, take minimum if method in [cv2.TM_SQDIFF, cv2.TM_SQDIFF_NORMED]: top_left = min_loc else: top_left = max_loc bottom_right = (top_left[0] + w, top_left[1] + h) cv2.rectangle(img,top_left, bottom_right, 255, 2) plt.subplot(121),plt.imshow(res,cmap = 'gray') plt.title('Matching Result'), plt.xticks([]), plt.yticks([]) plt.subplot(122),plt.imshow(img,cmap = 'gray') plt.title('Detected Point'), plt.xticks([]), plt.yticks([]) plt.suptitle(meth) plt.show()and here are the picutres I am using
https://ibb.co/GTYbJQw
https://ibb.co/r2C4b0y
After 2 days of reaserching various options my feelings are that this task is not doable... If someone can provide some help I would be super grateful