Chcę przyciąć obraz do jego mniejszego rozmiaru, wycinając białe obszary na obramowaniach. Wypróbowałem rozwiązanie sugerowane na tym forum Crop a PNG image to its minimum size, ale metoda getbbox() z pakietu pil zwraca ramkę ograniczającą o tym samym rozmiarze obrazu, tzn. Wydaje się, że nie rozpoznaje pustych obszarów wokół. Próbowałem następujące:Metoda getbbox z biblioteki obrazów Pythona (PIL) nie działa
>>>import Image
>>>im=Image.open("myfile.png")
>>>print im.format, im.size, im.mode
>>>print im.getbbox()
PNG (2400,1800) RGBA
(0,0,2400,1800)
Sprawdziłem, że mój obraz ma prawdziwie białe croppable granic przycinając obraz z GIMP auto-upraw. Próbowałem także z wersjami ps i eps postaci, bez szczęścia.
Każda pomoc będzie bardzo ceniona.
Dziękuję dużo za szybko i wyraźna odpowiedź. To zadziałało, ale musiałem najpierw przekonwertować RGBA na RGB przed użyciem inwersji, wywołując funkcję convert: invert_im = im.convert ("RGB"), a następnie invert_im = ImageOps.invert (invert_im), w przeciwnym razie uzyskałem IOError " nieobsługiwane w tym trybie obrazu ". – etepoc
@ user1292774 - fajnie, cieszę się że działało .., jeśli chcesz, możesz awansować/i zaznaczyć strzałkę, aby zaakceptować odpowiedź, w lewym górnym rogu, oboje otrzymujemy punkty;) – fraxel
Już próbowałem przegłosować, ale Mam mniej niż 15 punktów i system nie pozwala mi na razie, zrobię to, jeśli kiedykolwiek zdobędę te 15 punktów. Dziękuję Ci! – etepoc