Ich habe gerade angefangen, Tensorflow und Numpy Konzepte zu lernen. Ich modelliere mit Tensorflow unterschiedlich geformte Bilder zu einer festen Form, für die ich Loop benutze. Am Ende der Schleife akkumuliere ich diese umgeformten Bilder in einem Array. Jetzt, wenn ich das Bild von diesem Array plotte, bekomme ich unscharfes Bild. Aber wenn ich die Instanz des umgeformten Bildes mit Tensorflow plotte, bekomme ich das korrekte Bild. Kann mir bitte jemand erklären, wo ich falsch liege?Bild verwischt nach Zuweisung
Code:
fixedW = 227.0
fixedH = 227.0
X_data = np.zeros((3, fixedW, fixedH, 3), dtype = np.float32) # Only 3 images in this example
tf.reset_default_graph()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(3):
img = matplotlib.image.imread(image_file_name[i])
preshape = img.shape
img = np.reshape(img, (1, preshape[0], preshape[1], preshape[2])) #Make it single batched image
tf_img = tf.image.resize_images(img, (fixedW, fixedH), tf.image.ResizeMethod.NEAREST_NEIGHBOR)
resized_img = sess.run(tf_img)[0]
print(resized_img.shape) # Prints correctly
X_data[i, :, :, :] = resized_img[:, :, :] # Something is wrong here
# This plots correctly
plt.imshow(resized_img)
plt.show()
# This plots some blurred image
plt.imshow(X_data[2])
plt.show()
Bitte kann mir jemand erklären, wo ich in diesem gehe falsch und in welchem Konzept bin ich hier in meinem Verständnis fehlt von dieser Aufgabe.