KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm attempting to wrap my head around the basics of CV. The bit that initially got me interested was template matching (it was mentioned in a Pycon talk unrelated to CV), so I figured I'd start there. I started with this image: Out of which I want to detect Mario. So I cut him out: I understand the concept of sliding the template around the image to see the best fit, and following a tutorial, I'm able to find mario with the following code: def match_template(img, template): s = time.time() img_size = cv.GetSize(img) template_size = cv.GetSize(template) img_result = cv.CreateImage((img_size[0] - template_size[0] + 1, img_size[1] - template_size[1] + 1), cv.IPL_DEPTH_32F, 1) cv.Zero(img_result) cv.MatchTemplate(img, template, img_result, cv.CV_TM_CCORR_NORMED) min_val, max_val, min_loc, max_loc = cv.MinMaxLoc(img_result) # inspect.getargspec(cv.MinMaxLoc) print min_val print max_val print min_loc print max_loc cv.Rectangle(img, max_loc, (max_loc[0] + template.width, max_loc[1] + template.height), cv.Scalar(120.), 2) print time.time() - s cv.NamedWindow("Result") cv.ShowImage("Result", img) cv.WaitKey(0) cv.DestroyAllWindows() So far so good, but then I came to realize that this is incredibly fragile. It will only ever find Mario with that specific background, and with that specific animation frame being displayed. So I'm curious, given that Mario will always have the same Mario-ish attributes, (size, colors) is there a technique with which I could find him regardless of whether his currect frame is standing still, or one of the various run cycle sprites? Kind of like fuzzy matching that you can do on strings, but for images. Maybe si
Tags (comma-separated)
Save Edits
Cancel