Example #1
0
def average_hash(im):
    if isinstance(im, str):
        im = StringIO(im)
    if not isinstance(im, Image.Image):
        im = Image.open(im)
    im = im.resize((8,8),Image.ANTIALIAS).convert('L')
    avg = reduce(lambda x, y: x + y, im.getdata()) / 64.0
    return reduce(lambda x, (y,z): x | (z << y),
                  enumerate(map(lambda i: 0 if i < avg else 1, im.getdata())),
                  0)
Example #2
0
def average_hash(im):
    if isinstance(im, str):
        im = StringIO(im)
    if not isinstance(im, Image.Image):
        im = Image.open(im)
    im = im.resize((8, 8), Image.ANTIALIAS).convert('L')
    avg = reduce(lambda x, y: x + y, im.getdata()) / 64.0
    return reduce(lambda x, (y, z): x | (z << y),
                  enumerate(map(lambda i: 0
                                if i < avg else 1, im.getdata())), 0)