Bibliothèque de traitement d'images Python. https://pillow.readthedocs.io/en/stable/
Importez le package.
from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline
lena = Image.open("./lena.png ")
type(lena)
production
PIL.PngImagePlugin.PngImageFile
fig, ax = plt.subplots()
ax.imshow(lena)
plt.title("Lena Color")
plt.show()
lena_gray = lena.convert("L")
type(lena_gray)
production
PIL.Image.Image
fig, ax = plt.subplots()
ax.imshow(lena_gray)
plt.title("Lena Gray")
plt.show()
C'est une couleur étrange, mais c'est une spécification Matplotlib.
Vous devez changer la palette de couleurs des valeurs par défaut.
Spécifiez cmap =" gray "
pour afficher une image en niveaux de gris.
For actually displaying a grayscale image set up the color mapping using the parameters
https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.imshow.html
fig, ax = plt.subplots()
ax.imshow(lena_gray, cmap="gray")
plt.title("Lena Gray")
plt.show()
lena_gray.save("./lena_gray.png ")
lena_resize = lena.resize((150,150))
fig, ax = plt.subplots()
ax.imshow(lena_resize)
plt.title("Lena Resize")
plt.show()
Si vous regardez l'échelle de l'image, vous pouvez voir qu'elle a été redimensionnée.
Cette fois, faites pivoter l'image de 75 degrés.
lena_rotate = lena.rotate(75)
fig, ax = plt.subplots()
ax.imshow(lena_rotate)
plt.title("Lena rotate 75")
plt.show()
Je suis épuisé. Il ne semble pas avoir changé par rapport à la taille de l'image d'origine. Ajoutez ʻexpand = True` à Image.rotate afin qu'il ne soit pas coupé.
Optional expansion flag. If true, expands the output image to make it large enough to hold the entire rotated image. If false or omitted, make the output image the same size as the input image.
https://pillow.readthedocs.io/en/3.1.x/reference/Image.html#PIL.Image.Image.rotate
lena_rotate_expand = lena.rotate(75, expand=True)
fig, ax = plt.subplots()
ax.imshow(lena_rotate_expand)
plt.title("Lena rotate 75 expand")
plt.show()
Recommended Posts