def create_mnist_dataset():
images, labels = get_mnist_raw_data()
mask = labels != 0
print("Pre-zero removal: Label / N : {0}".format([(v, c) for v, c in zip(_range(10), np.bincount(labels))]))
images = list(itertools.compress(images, mask))
labels = labels[mask]
images = images[3::20]
labels = labels[3::20]
print("Pre-blobify: Label / N : {0}".format([(v, c) for v, c in zip(_range(10), np.bincount(labels))]))
y = np.array(labels, 'int8')
images, mask = blobify(images)
y = y[mask]
print("Post-blobify: Label / N : {0}".format([(v, c) for v, c in zip(_range(10), np.bincount(y))]))
print("Extract features...")
X = np.array([extract_efd_features(img) for img in images])
try:
os.makedirs(os.path.expanduser('~/sudokuextract'))
except:
pass
try:
for i, (img, lbl) in enumerate(zip(images, labels)):
img = Image.fromarray(img, 'L')
with open(os.path.expanduser('~/sudokuextract/{1}_{0:04d}.jpg'.format(i + 1, lbl)), 'w') as f:
img.save(f)
except Exception as e:
print(e)
return images, labels, X, y
评论列表
文章目录