Examples of how to rotate an image using python:
Rotate an image and keep the same size as the original image
To rotate an image, a solution is to use the pillow function rotate(), example
from PIL import Image
im = Image.open("eiffel_tower.jpg")
print(im.size)
im = im.rotate(45)
print(im.size)
im.save("eiffel_tower_rotate_01.jpg")
im.show()
Rotate an image
The option "expand = 1" can be added to adapt the size automatically:
from PIL import Image
im = Image.open("eiffel_tower.jpg")
print(im.size)
im = im.rotate(45, expand = 1)
print(im.size)
im.save("eiffel_tower_rotate_02.jpg")
im.show()
Rotate an image (change the background color)
Since the pillow version 5.2, it is possible to specify the background color
>>> import PIL
>>> PIL.__version__
'5.2.0'
example
from PIL import Image
im = Image.open("eiffel_tower.jpg")
im = im.rotate(45, expand = 1, fillcolor='white')
im.save("eiffel_tower_rotate_02.jpg")
im.show()
Get a vertically flipped image
To flip an image vertically a solution is to use the function rotate(), example:
from PIL import Image
im = Image.open("eiffel_tower.jpg")
im = im.rotate(180)
im.save("eiffel_tower_fliped_vertically.jpg")
Another solution is tu use 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")
To flip an image vertically with numpy there is 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: to save an image with frameless see How to create a figure with no axes ( frameless ) or labels using matplotlib ?
References
Links | 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 |