Obrazy JPEG utworzone za pomocą funkcji PIL (1.1.7) mają bardzo niską jakość. Oto przykład:Dlaczego jakość obrazów JPEG generowanych przez PIL jest tak niska?
Wejście: http://s23.postimg.org/8bks3x5p7/cover_1.jpg
wyjściowa: http://s23.postimg.org/68ey9zva3/cover_2.jpg
Wyjście została stworzona za pomocą następującego kodu:
from PIL import Image
im = Image.open('/path/to/cover_1.jpg')
im.save('/path/to/cover_2.jpg', format='JPEG', quality=100)
czerwony tekst wygląda naprawdę okropne. Zapis obrazu z GIMP lub Photoshopem nie jest nawet bliski złej jakości stworzonej przez PIL. Czy ktoś wie, dlaczego tak się dzieje i jak można go rozwiązać?
Dzięki za pomoc!
Zapisujesz JPEG JPEG. Tracisz informacje dwa razy. Czy jesteś pewien, że GIMP i Photoshop ponownie przetwarzają pliki JPEG, a nie tylko zapisują je w niezmienionej postaci (ponieważ programy rozpoznają je jako JPEG i dlatego nic nie robią)? – John
Dziękujemy za szybką odpowiedź. Mam świadomość, że dwa razy tracę informacje. To tylko bardzo prosty przykład. W produkcji zmieniam również rozmiar obrazu :). Również, jeśli zmieniam rozmiar obrazu w GIMP lub Photoshopie, wynikowy obraz wygląda znacznie ostrzej. Te dwie osoby wyglądają prawie tak samo na dwóch zdjęciach, ale czerwony tekst wygląda zupełnie inaczej. – Pascal
Nie wątpię, że wygląda ostrzej niż GIMP/Photoshop. Ale czy jest to * inny * od obrazu wejściowego? Po zapisaniu go jako JPEG z GIMP/Photoshopa, czy coś się zmieniło? Jeśli odpowiedź brzmi "nie", to PIL może wyglądać "źle", ponieważ faktycznie stosuje kompresję JPEG, podczas gdy druga nie. Widzisz, w co się pakuję? – John