Hallo, ich versuche schon seit längerer Zeit Bilder in Arrays zu laden, um diese weiterzunutzen.
Ich nahm dieses script um die Bilder zu Arrays zu machen.
i = 0
while i < len_path_parrot:
img = load_img("picturesready\\parrot\\" + path_parrot)
Z = img_to_array(img, dtype = float)
Z.flatten("F")
Z.astype(float)
X = numpy.append(X, Z)
y = numpy.append(y, 1)
i = i + 1
Das geht sehr gut. Der Inhalt dieser Arrays ist folgender:
array([<class 'float'>, 66.0, 98.0, ..., 244.0, 254.0, 255.0], dtype=object)
Aber bei dieser Zeile kommt ein Fehler.
X = X.astype(float)
Der Fehler lautet: float() argument must be a string or a number, not 'type'
Was meint dieser Fehler, und was kann ich machen, damit ich das Programm nutzen kann?
Was meint float() argument must be a string or a number, not 'type'
Woher kommt denn `X`? Das hast Du hier gar nicht definiert. Wahrscheinlich hat es aus irgendeinem Grund am Anfang den Wert `float`.
Warum verwendest Du `float` wo doch img_to_array Bytes liefert?
Die beiden Zeilen mit `Z.` haben keinen Effekt.
Statt einer while-Schleife willst Du eine for-Schleife benutzen.
Und statt immer wieder append aufzurufen, pack alles erst in eine Liste und ruf zum Schluß concatenate auf.
Benutze sprechendere Variablennamen; da `path_parrot` eine Liste ist, ist es üblich dafür einen Plural zu nehmen: parrot_paths. Was das `y` soll, weiß ich nicht (enthält sowieso nur einsen), daher habe ich es weggelassen.
Warum verwendest Du `float` wo doch img_to_array Bytes liefert?
Die beiden Zeilen mit `Z.` haben keinen Effekt.
Statt einer while-Schleife willst Du eine for-Schleife benutzen.
Und statt immer wieder append aufzurufen, pack alles erst in eine Liste und ruf zum Schluß concatenate auf.
Code: Alles auswählen
images = []
for imagefilename in path_parrot:
img = load_img(os.path.join("picturesready\\parrot", imagefilename))
images.append(img.ravel('F'))
images = numpy.concatenate(images)-
Meinnamegehtdichga
- User
- Beiträge: 13
- Registriert: Donnerstag 8. August 2019, 16:23
Was meint der Fehler denn eigentlich genau?
- __blackjack__
- User
- Beiträge: 14336
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Meinnamegehtdichga: Das habe ich in Deinem anderen Thema zu dem Thema schon geschrieben: viewtopic.php?f=30&t=46270#p350934
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
