Spaces:
Runtime error
Runtime error
File size: 3,944 Bytes
8fcaabd 96efdf1 3b1708c e9ed894 3b1708c e9ed894 92bfde1 6154d12 0e872db b7de9de 4bc6412 0e872db 4bc6412 3b1708c 6270fef b372c11 6270fef b372c11 4bc6412 6270fef 4bc6412 b7de9de f983ea3 4bc6412 a32e35d e960a9a 92bfde1 b7de9de e960a9a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | import gradio as gr
from PIL import Image
def sort_doc(in_list: list, steps_in: int, control: int, prev_list: str):
control_json={'control':'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ','char':'','leng':62}
key_cnt=len(in_list)
print(key_cnt)
control_char=list(control_json['control'])
char_len=len(control_char)
if not steps_in:
n_cnt=0
nx=key_cnt
while True:
if nx >= 1:
n_cnt+=1
nx = nx/char_len
else:
steps=n_cnt
break
if steps_in:
steps=steps_in
if control:
control_len=control_json['leng']-control
control_char=list(control_json['control'][:control_len])
control_val=list(control_json['control'][control_len:])
val_len=len(control_val)
control_val_box=[]
for ea in control_val:
control_val_box.append(ea)
print(f'CONTROL_VAL_BOX:: {control_val_box}')
#prev_list=control_val_box
json_out={}
big_cnt=0
cnt=0
go=True
step_cont_box=[]
if prev_list:
print("LOD")
last_key=list(prev_list.keys())[-1]
print(last_key)
for ea_dig in last_key:
ea_dig=control_json['control'].index(ea_dig)
ea_dig=int(ea_dig)
print(f'{ea_dig} :: {list(control_json["control"][ea_dig])[0]}')
#step_cont_box.append(int(list(control_json["control"][ea_dig])[0]))
step_cont_box.append(ea_dig)
print(step_cont_box)
cnt=int(step_cont_box[-1])+1
if not prev_list:
print("NOT LOD")
for ii in range(steps):
print(ii)
step_cont_box.append(0)
pos=len(step_cont_box)-1
if go:
for i, ea in enumerate(in_list):
if go:
if cnt > char_len-1:
#print(step_cont_box)
go1=True
for ii,ev in enumerate(step_cont_box):
if go:
if ev >= char_len-1:
step_cont_box[ii]=0
if go1==True:
step_cont_box[ii-1]=step_cont_box[ii-1]+1
go1=False
cnt=1
else:
step_cont_box[pos]=cnt
cnt+=1
#print(step_cont_box)
out_js=""
for iii,j in enumerate(step_cont_box):
#print(j)
out_js = out_js+control_char[j]
json_out[out_js]=in_list[i]
big_cnt+=1
if big_cnt==key_cnt:
print("DONE")
go=False
return json_out
def get_pixels(im):
img=Image.open(im)
pixels = img.load() # create the pixel map
im_width=img.size[0]
im_height=img.size[1]
print(f'{im_width} :: {im_height}')
pixel_box=[]
pixel_list={}
for i in range(im_width): # for every col:
for j in range(im_height): # For every row
pixel = pixels[i,j]
r,g,b=pixels[i,j]
if str(pixel) in pixel_box:
#print("YES")
pixel_list[str(pixel)].append((i,j))
print(pixel_list[str(pixel)])
else:
#pixel_box.append({f'{pixels[i,j]}':[(i,j)]})
pixel_list[str(pixel)]=[(i,j)]
pixel_box.append(str(pixel))
#pixels[i,j] = (i, j, 100) # set the colour accordingly
#print(pixels[i,j])
#for ea in pixel_box:
print(len(pixel_list))
print(len(pixel_box))
return pixel_list
with gr.Blocks() as app:
in_im=gr.Image(type='filepath')
go_btn=gr.Button()
out_json=gr.JSON()
go_btn.click(get_pixels,in_im,out_json)
app.launch() |