convert_img.py 931 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # -*- encoding:utf-8 -*-
  2. import numpy as np
  3. from PIL import Image
  4. import random
  5. def read_data(path):
  6. with open(path) as f :
  7. lines=f.readlines()
  8. lines=random.sample(lines,int(len(lines)/1000))
  9. lines=[eval(line.strip()) for line in lines]
  10. X,Y=zip(*lines)
  11. X=np.array(X)
  12. X=X.reshape(-1,28*28)
  13. Y=np.array(Y)
  14. return X,Y
  15. def plot(x,width,height,path):
  16. img=[[0 for _ in range(0,width) ] for _ in range(0,height)]
  17. for i in range(0,height):
  18. for j in range(0,width):
  19. img[i][j]=x[i*height+j]
  20. img=np.array(img).astype('uint8')
  21. new_im = Image.fromarray(img)
  22. new_im.save(path)
  23. train_x,train_y = read_data("train_data")
  24. train_x_10,train_y_10 = read_data("train_data_10")
  25. train_x = np.concatenate((train_x,train_x_10))
  26. train_y = np.concatenate((train_y,train_y_10))
  27. count=0
  28. for i in range(0,len(train_x)):
  29. print(count)
  30. path="img/{}-{}.png".format(train_y[i],count)
  31. print(path)
  32. count+=1
  33. plot(train_x[i],28,28,path)