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)
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)