Python Pillow - Korzystanie z modułu obrazu

Aby wyświetlić obraz, biblioteka poduszek używa klasy obrazu. Moduł obrazu w pakiecie poduszek zawiera kilka ważnych wbudowanych funkcji, takich jak ładowanie obrazów lub tworzenie nowych obrazów itp.

Otwieranie, obracanie i wyświetlanie obrazu

Aby załadować obraz, po prostu importujemy moduł obrazu z poduszki i wywołujemy plik Image.open()przekazując nazwę pliku obrazu.

Zamiast wywoływać moduł Pillow, będziemy wywoływać moduł PIL, aby był wstecznie kompatybilny ze starszym modułem o nazwie Python Imaging Library (PIL). Dlatego nasz kod zaczyna się od“from PIL import Image” zamiast “from Pillow import Image”.

Następnie załadujemy obraz, wywołując plik Image.open() function, która zwraca wartość typu danych obiektu Image. Wszelkie modyfikacje obiektu obrazu można zapisać w pliku obrazu z rozszerzeniemsave()metoda. Obiekt obrazu, który otrzymaliśmy za pomocąImage.open(), później może być używany do zmiany rozmiaru, przycinania, rysowania lub innych wywołań metod manipulacji obrazem w tym obiekcie Image.

Przykład

Poniższy przykład demonstruje obrót obrazu za pomocą poduszki Pythona -

from PIL import Image
#Open image using Image module
im = Image.open("images/cuba.jpg")
#Show actual Image
im.show()
#Show rotated Image
im = im.rotate(45)
im.show()

Wynik

Jeśli zapiszesz powyższy program jako Example.py i uruchomisz, wyświetli on oryginalne i obrócone obrazy za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Actual image

Rotated image (45 degrees)

Atrybuty modułu obrazu

Instancja klasy Image ma pewne atrybuty. Spróbujmy zrozumieć kilka z nich na przykładzie -

Nazwa.pliku

Ta funkcja jest używana do uzyskania nazwy pliku lub ścieżki do obrazu.

>>>image = Image.open('beach1.jpg')
>>> image.filename
'beach1.jpg'

Format obrazu

Ta funkcja zwraca format pliku obrazu, taki jak „JPEG”, „BMP”, „PNG” itp.

>>> image = Image.open('beach1.jpg')
>>>
>>> image.format
'JPEG'

Image.mode

Służy do uzyskania formatu pikseli używanego przez obraz. Typowe wartości to „1”, „L”, „RGB” lub „CMYK”.

>>> image.mode
'RGB'

Rozmiar obrazu

Zwraca krotkę składającą się z wysokości i wagi obrazu.

>>> image.size
(1280, 721)

Szerokość obrazu

Zwraca tylko szerokość obrazu.

>>> image.width
1280

Wysokość obrazu

Zwraca tylko wysokość obrazu.

>>> image.height
721

Image.info

Zwraca słownik zawierający dane powiązane z obrazem.

>>> image.info
{'jfif': 257, 'jfif_version': (1, 1), 'dpi': (300, 300), 'jfif_unit': 1, 'jfif_density': (300, 300), 'exif': b"Exif\x00\x00MM\x00*\x00\x00\x00
....
....
\xeb\x00\x00'\x10\x00\x00\xd7\xb3\x00\x00\x03\xe8"}

Image.palette

Zwraca tabelę palety kolorów, jeśli taka istnieje.

>>> image.palette

Output above - Żaden