Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Hamming distance solution in Creative category for Mono Captcha by nakanohito_piyo
def checkio(image):
ret = ""
digits = int((len(image[0])-1)/4) #get num of digits
for i in range(digits):
im = [x[i*4+1:i*4+4] for x in image] #get i-th number image
for j in range(10):
if hamming_dist(clear_image[j], im)<=1:
ret += str(j)
break
return int(ret)
hamming_dist=lambda a,b:sum([1 for i in range(len(a)) for j in range(len(a[0])) if a[i][j] != b[i][j]])
ONE=[[0,1,0],
[1,1,0],
[0,1,0],
[0,1,0],
[0,1,0]]
TWO=[[1,1,1],
[0,0,1],
[0,1,1],
[1,0,0],
[1,1,1]]
THREE=[[1,1,1],
[0,0,1],
[0,1,0],
[0,0,1],
[1,1,1]]
FOUR=[[1,0,1],
[1,0,1],
[1,1,1],
[0,0,1],
[0,0,1]]
FIVE=[[1,1,1],
[1,0,0],
[1,1,0],
[0,0,1],
[1,1,0]]
SIX=[[0,1,1],
[1,0,0],
[1,1,1],
[1,0,1],
[0,1,1]]
SEVEN=[[1,1,1],
[0,0,1],
[0,1,0],
[1,0,0],
[1,0,0]]
EIGHT=[[1,1,1],
[1,0,1],
[1,1,1],
[1,0,1],
[1,1,1]]
NINE=[[0,1,1],
[1,0,1],
[1,1,1],
[0,0,1],
[1,1,0]]
ZERO=[[1,1,0],
[1,0,1],
[1,0,1],
[1,0,1],
[0,1,1]]
clear_image = [ZERO,ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE]
July 2, 2015