In [106]:
with open('quantized_colors.json') as f:
  quantized = json.load(f)

In [88]:
len(quantized)


Out[88]:
313

In [93]:
m = (50,50)

In [94]:
def distance(x0,x1):
  return np.sqrt( (x0[0]-x1[0])**2 + (x0[1] - x1[1])**2 )

In [102]:
def top5(color):
  distances = []

  for i in range(len(quantized)):
    distances.append( (distance(color,quantized[str(i)]),i) )

  a = sorted(distances)[:5]
  return (a[0][1], a[1][1], a[2][1], a[3][1], a[4][1])

In [103]:
top5((30,30))


Out[103]:
(139, 120, 140, 157, 138)

In [104]:
quantized['139']


Out[104]:
[28.69565217391306, 28.695652173913047]

In [2]:
img = Image.open('/afs/csail.mit.edu/u/k/kocabey/Desktop/messi.jpg')

In [89]:
img = io.imread('/afs/csail.mit.edu/u/k/kocabey/Desktop/messi.jpg')

In [90]:
img = color.rgb2lab(img)

In [91]:
img


Out[91]:
array([[[  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        ..., 
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03]],

       [[  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        ..., 
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03]],

       [[  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        ..., 
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03],
        [  1.00000000e+02,  -2.45493786e-03,   4.65342115e-03]],

       ..., 
       [[  3.65173240e+01,   6.18614351e+00,  -3.67381985e+01],
        [  3.56366248e+01,   5.81473636e+00,  -3.57114058e+01],
        [  3.71080050e+01,   4.69514207e+00,  -3.51912946e+01],
        ..., 
        [  1.51502653e+01,   6.65944407e+00,  -2.54019104e+01],
        [  1.60594485e+01,   6.39284592e+00,  -2.53077429e+01],
        [  1.65128272e+01,   6.26594717e+00,  -2.52605797e+01]],

       [[  3.50190644e+01,   6.93194896e+00,  -3.60813560e+01],
        [  3.62374757e+01,   6.64259043e+00,  -3.59613955e+01],
        [  3.86613175e+01,   6.11140588e+00,  -3.57234568e+01],
        ..., 
        [  1.42379720e+01,   6.94431662e+00,  -2.54955551e+01],
        [  1.46944967e+01,   6.79950196e+00,  -2.54488239e+01],
        [  1.56052557e+01,   6.52395299e+00,  -2.53548675e+01]],

       [[  3.42506589e+01,   7.31604456e+00,  -3.60851472e+01],
        [  3.53568591e+01,   6.28061231e+00,  -3.49282830e+01],
        [  3.64246398e+01,   5.25630689e+00,  -3.44489047e+01],
        ..., 
        [  1.51502653e+01,   6.65944407e+00,  -2.54019104e+01],
        [  1.51502653e+01,   6.65944407e+00,  -2.54019104e+01],
        [  1.56052557e+01,   6.52395299e+00,  -2.53548675e+01]]])

In [18]:
img = color.lab2rgb(img)

In [19]:
img *= 255
display(Image.fromarray(img.astype(np.uint8)))



In [ ]: