Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Thanks!!

I made my own implementation, since complex image recognition would require to involve machine learning or similar prediction models.

What I do is to detect the contour (I'm using a LineRenderer to draw, so it is automatic) and downscale both images to process faster and have a higher fidelity % score.

With the contour I try to detect, rotate and stretch the image to look like Javi's image (I have some tracking beacons for it wink wink). From here I try to get 3 possible images, then I divide the drawing into 8 sections and try to see if there are pixels in the key areas.

Then I add more score if the pixels are equal for the rest of the drawing. I take the highest value of the three images.

If I can't detect the outline or the drawing is too strange, I simply compare the pixels one by one.

(+1)

That's nice mate! 

I don't know exactly what you mean by beacons though. But it seems you're chopping up the image then checking pixels counts/areas. Did I get this right?

(1 edit)

Yes that's correct.

When I say "beacon" I mean to say that I have configured a few pixels zones that are very important to draw. In Unity, I made added a few "zones" as gameobjects that are important to recognize the image.

For example, the cat face. I put "important zones (aka beacons)" in the eyes and nose. Because drawing the outline would be as easy as making an oval circle. Therefore, I give extra points if you try to do the eyes and nose.

This is a very reduced explanation, depending on the drawing there are areas of different importance.

Ah you defined areas for each image. That clears it up. Thanks!