Właśnie zrobiłem przetwarzanie obrazów za pomocą biblioteki obrazów Python (PIL) za pomocą posta, który znalazłem wcześniej, aby wykonać fourierowe transformacje obrazów i nie mogę uruchomić funkcji zapisu. Cały kod działa poprawnie, ale po prostu przyzwyczajenie zapisać obraz wynikowy:Jak mogę zapisać obraz z PIL?
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")
Błąd pojawia się następująco:
save_handler = SAVE[string.upper(format)] # unknown format
KeyError: '.BMP'
Jak mogę zapisać obraz z pytony PIL?
hej dziękuję bardzo. teraz działa idealnie! teraz wszystko, co muszę zrobić, to zrozumieć wszystkie kroki, ale to nie będzie zbyt złe. dziękuję bardzo za pomoc – user1999274
@ user1999274 główną różnicą jest użycie 'fft2' zamiast' rfft2' ponieważ dla dyskretnych danych nie widzę sensu korzystania z późniejszego. Reszta jest czysto kosmetyczna, tzn. Nie można poprawnie wizualizować transformaty Fouriera bez stosowania współczynnika logu do niej. Następnie normalizacja polega na utrzymaniu prostoty konwersji do zakresu [0, 255]. – mmgp
'visual = (visual - visual.min())/(visual.max() - visual.min())' będzie domyślne, jeśli 'visual' nie będzie miał wariancji (mało prawdopodobne, ale warte zachwycenia) –