Ich arbeite an einem Programm, um ein Bild aufzunehmen und es so zu glätten, dass es in eine CSV-Datei geschrieben werden kann. Dieser Teil funktioniert. Ich habe ein Problem, wenn ich versuche, die Zeile aus der CSV-Datei zurückzulesen. Ich versuche, das Bild zu rekonstruieren, und ich bekomme einen Fehler von "ValueError: kann Array von Größe 0 in Form (476,640,3) nicht umformen". Ich habe eine Beispielausgabe aus der CSV-Datei hinzugefügt.Fehler beim Zurücklesen eines Nummernfeldes von csv
import csv
import cv2
import numpy as np
from skimage import io
from matplotlib import pyplot as plt
image = cv2.imread('Li.jpg')
def process_images (img):
img = np.array(img)
img = img.flatten()
return img
def save_data(img):
dataset = open('dataset.csv', 'w+')
with dataset:
writer = csv.writer(dataset)
writer.writerow(img)
def load_data():
with open('dataset.csv', 'r') as processed_data:
reader = csv.reader(processed_data)
for row in reader:
img = np.array(row , dtype='uint8')
img = img.reshape(476,6, 3)
return img
def print_image_stats (img):
print (img)
print (img.shape)
print (img.dtype)
def rebuilt_image(img):
img = img.reshape(476,640,3)
plt.imshow(img)
plt.show()
return img
p_images = process_images(image)
print_image_stats(p_images)
r_image = rebuilt_image(p_images)
print_image_stats(r_image)
save_data(p_images)
loaded_data = load_data()
#r_image = rebuilt_image(load_data)
#print_image_stats(r_image)
* "... in eine CSV-Datei geschrieben. Dieser Teil funktioniert." * Wie sieht der Text in "data.csv" aus? Können Sie der Frage ein Snippet aus dieser Datei hinzufügen, sagen Sie die ersten 10 Zeilen? –
Ich habe ein Beispiel aus der CSV-Datei hinzugefügt. Derzeit gibt es ein Bild, das in ein 1d-Array abgeflacht ist. –
Verwenden Sie Pandas. Numpy Helfer – crook