2017-07-23 1 views
1

Wie kann ich mein Bild vektorisieren, umgestalten und normalisieren, das gleiche wie der Größenvektor eines der Bilder in mnist.train.images? Ich habe die unten so weit ohne Erfolg versucht:vectorize, umgestalten und normalisieren mein Bild zu Bild wie mnist.train.images

import os 
import re 
import numpy as np 
import tensorflow as tf 
from tensorflow.python.framework import ops 
import os,sys 
#import Image 
from PIL import Image 
from tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_sets 

# Load data and check the shape of the first mnist.train.images image 
data_dir = 'temp' 
mnist = read_data_sets(data_dir) 
print("tmnist.train.images[0].shape is") 
print(mnist.train.images[0].shape) # the result is (784,) 

def resize_image(image): 
    img = Image.open(image) 
    arr = np.array(img) 
    #my mind is drawing a blank... additional code to make this work... 
    return arr 


resize_image("test.png") 

Antwort

1

Die folgenden sollte funktionieren:

def resize_image(image): 
    img = Image.open(image) 
    img = img.resize((28, 28)) 
    arr = np.array(img) 

    #convert to gray scale 
    if len(arr.shape) > 2: 
    arr = np.mean(arr, 2) 

    #flatten 
    arr = arr.flatten() 
    return arr 
+1

Danke für die prompte Antwort. Für die Normalisierung habe ich hinzugefügt: von sklearn Import-Preprocessing; min_max_scaler = Vorverarbeitung.MinMaxScaler(); arr_train_minmax = min_max_scaler.fit_transform (arr); Scheint zu arbeiten. Ich hoffe, es ist konsistent mit der Normalisierung von mnist.train.images – caramelslice

Verwandte Themen