Open In App

Where’s Wally Problem using Mahotas

Last Updated : 22 Sep, 2021
Like Article

In this article we will see how we can find the wally in the given image. Where’s Wally?, also called Where’s Waldo? in North America is a British puzzle books. The books consist of a series of detailed double-page spread illustrations showing dozens or more people doing a variety of amusing things at a given location. Readers are challenged to find a character named Wally hidden in the group. 
Image used in the program – 

Wally Description : Wally is identified by his red-and-white-striped shirt, bobble hat, and glasses, but many illustrations contain red herrings involving deceptive use of red-and-white striped objects.
In order to do this we will use mahotas library. Mahotas is a computer vision and image processing library for Python. It includes many algorithms implemented in C++ for speed while operating in numpy arrays and with a very clean Python interface. 
Command to install mahotas – 

pip install mahotas

Below is the implementation – 


# importing required libraries
from pylab import imshow, show
import mahotas
import mahotas.demos
import numpy as np
# loading the image
wally = mahotas.demos.load('wally')
# showing the original image
# getting float type value
# float values are better to use
wfloat = wally.astype(float)
# splitting image into red, green and blue channel
r, g, b = wfloat.transpose((2, 0, 1))
# white channel
w = wfloat.mean(2)
# pattern of wally shirt
# pattern + 1, +1, -1, -1 on vertical axis
pattern = np.ones((24, 16), float)
for i in range(2):
    pattern[i::4] = -1
# convolve with the red minus white
# increase the response where shirt is
v = mahotas.convolve(r-w, pattern)
# getting maximum value
mask = (v == v.max())
# creating mask to tone down the image
# except the region where wally is
mask = mahotas.dilate(mask, np.ones((48, 24)))
# subtraction mask from the wally
np.subtract(wally, .8 * wally * ~mask[:, :, None],
                   out = wally, casting ='unsafe')
# show the new image

Output : 


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads