Exemples de comment retourner / inverser une image avec numpy sous python:
Obtenir une image retournée avec pillow
Pour retourner une image avec pillow une solution est d'utiliser la fonction rotate(), exemple:
from PIL import Image
im = Image.open("eiffel_tower.jpg")
im = im.rotate(180)
im.save("eiffel_tower_fliped_vertically.jpg")
On peut aussi utiliser la fonction flip():
from PIL import Image
from PIL import ImageOps
im = Image.open("eiffel_tower.jpg")
im = ImageOps.flip(im)
im.save("eiffel_tower_fliped_vertically.jpg")
Obtenir une image retournée avec numpy
Autre solution, utiliser numpy et la fonction flipud, illustration:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img = mpimg.imread('eiffel_tower.jpg')
img2 = np.flipud(img)
plt.imshow(img2)
plt.savefig("eiffel_tower_fliped_vertically.png", dpi=200)
plt.show()
Note: pour sauvegarder une figure avec matplotlib sans les axes voir: Comment sauver une image seule sans les contours ou les labels avec matplotlib ?
Références
Liens | Site |
---|---|
numpy.flipud | numpy doc |
Comment sauver une image seule sans les contours ou les labels avec matplotlib ? | science-emergence article |
Image Module | illow.readthedocs.io |
ImageOps Module | pillow.readthedocs.io |
Flopped image | wikipedia |
Flipped image | wikipedia |
Flip An Image | docs.gimp.org |
PIL - Images not rotating | stackoverflow |
Image rotation in Pillow | stackoverflow |
pixabay | pixabay |