Ich habe gerade einige Bildverarbeitung mit der Python-Image-Bibliothek (PIL) mit einem Beitrag ich früher gefunden, um Fourier-Transformationen von Bildern durchzuführen und ich kann nicht die Speicherfunktion funktionieren. Der gesamte Code funktioniert gut, aber es spart einfach gewohnt das resultierende Bild:Wie kann ich ein Bild mit PIL speichern?
from PIL import Image
import numpy as np
i = Image.open("C:/Users/User/Desktop/mesh.bmp")
i = i.convert("L")
a = np.asarray(i)
b = np.abs(np.fft.rfft2(a))
j = Image.fromarray(b)
j.save("C:/Users/User/Desktop/mesh_trans",".bmp")
Der Fehler ich erhalte, ist die folgende:
save_handler = SAVE[string.upper(format)] # unknown format
KeyError: '.BMP'
Wie kann ich ein Bild mit Pythons PIL retten?
hey vielen dank. es funktioniert jetzt perfekt! Jetzt muss ich nur noch alle Schritte verstehen, aber das wird nicht zu schlecht sein. Vielen Dank für die Hilfe – user1999274
@ user1999274 der Hauptunterschied ist in der Verwendung von 'fft2' statt' rfft2', da für diskrete Daten ich nicht den Punkt in der Verwendung der später sehe. Der Rest ist rein kosmetischer Natur, d. H. Sie wären nicht in der Lage, die Fourier-Transformation richtig darzustellen, ohne einen logarithmischen Faktor darauf anzuwenden. Dann ist die Normalisierung, um die Dinge für die Umwandlung in den Bereich [0, 255] einfach zu halten. – mmgp
'visual = (visual - visual.min())/(visual.max() - visual.min())' wird als Standard verwendet, wenn 'visual' keine Varianz hat (unwahrscheinlich, aber es lohnt sich) –