Open CV game sprite recognition - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: Open CV game sprite recognition (/thread-16315.html) |
Open CV game sprite recognition - Doctore9 - Feb-22-2019 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 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 RE: Open CV game sprite recognition - Mekire - Feb-24-2019 I've tracked changing images in a video based on a template using openCV and a particle filter. Not sure if the time needed to learn how to do this is feasible to you though. RE: Open CV game sprite recognition - Doctore9 - Feb-24-2019 thanks so much for suggestion - Im going to research in this topic. In the meantime, if anyone has other suggestions - please let me knwo. (Feb-24-2019, 04:55 AM)Mekire Wrote: I've tracked changing images in a video based on a template using openCV and a particle filter. Not sure if the time needed to learn how to do this is feasible to you though. Would you be able to recommend any readings / tutorials in this subject? RE: Open CV game sprite recognition - Mekire - Feb-25-2019 Can you access this course? https://classroom.udacity.com/courses/ud810 I think it should be free. If you can, watch lessons 46-49 abouts. |