Das Image-Modul der Python-Bildverarbeitungsbibliothek Pillow(PIL) stellt sterben rotation()-Methode zum Drehen eines Bildes bereit.
Dieser Artikel jeden genauen Parameter von rotation().
- Drehwinkel:
angle
- Resampling-Filter:
resample
- Ausgabebildgröße erweitern:
expand
- Koordinaten des Rotationszentrums:
center
- Übersetzung:
translate
- Farbe für den Außenbereich:
fillcolor
Informationen zur Installation und einfachen Verwendung von Pillow(PIL) finden Sie im following Artikel.
Verwenden Sie flip() und mirror() des ImageOps-Moduls, um das Bild vertikal oder horizontal zu spiegeln.
Siehe den folgenden Artikel zur Bilddrehung mit OpenCV, NumPy.
Laden Sie die Bilder wie folgt:
from PIL import Image
im = Image.open('data/src/lena.jpg')
Drehwinkel:angle
Geben Sie in rotation() als ersten Parameter angle den Rotationswinkel in Grad an. Die Drehrichtung ist gegen den Bildschirm.
90 Grad drehen:
im_rotate = im.rotate(90)
45 Grad drehen.
im_rotate = im.rotate(45)
Resampling-Filter:resample
Mit dem Parameter resample kann der Resampling-Filter spezifiziert werden.
- Image.NEAREST (Nächster Nachbar, Standard)
- Bild.BILINEAR
- Bild.BICUBIC
Mit Image.BICUBIC sind die Details klarer als mit dem Standard Image.NEAREST.
im_rotate = im.rotate(45, resample=Image.BICUBIC)
Ausgabebildgröße erweitern:expand
Wie aus dem Ausgabebild des Beispiels Beispiels ersichtlich IST, IST sterben Größe des Ausgabebilds standardmäßig gleich der Größe des Eingabebilds, und Teile des äußeren Bereichs werden abgeschnitten.
Wenn SIE das gesamte gedrehte Bild beibehalten möchten, setzen SIE den Parameter expand auf True.
im_rotate = im.rotate(90, expand=True)
im_rotate = im.rotate(45, expand=True)
Koordinaten des Rotationszentrums:center
Mit dem Parameterzentrum können Sie die Position des Rotationszentrums festlegen. Standardmäßig ist das Zentrum die Mitte des Bildes.
im_rotate = im.rotate(45, center=(0, 60))
Bei expand=True WIRD der Ausgabebildbereich unter der Annahme bestimmt, dass das Bild um die Bildmitte gedreht WIRD.
im_rotate = im.rotate(45, center=(0, 60), expand=True)
Übersetzung:translate
Mit dem Parameter translate can SIE vor der Rotation übersetzen. translate wird durch angegeben (Translationsabstand in x-Richtung, Translationsabstand in y-Richtung).
Ohne Rotation:
im_rotate = im.rotate(0, translate=(100, 50))
Um 45 Grad drehen und übersetzen:
im_rotate = im.rotate(45, translate=(100, 50))
If expand=True, WIRD der Ausgabebildbereich unter der Annahme bestimmt, dass das Bild ohne Verschiebung gedreht WIRD.
im_rotate = im.rotate(45, translate=(100, 50), expand=True)
Farbe für den Außenbereich:fillcolor
Mit Fillcolor können Sie die Farbe für den Außenbereich festlegen. Die Standardfarbe ist schwarz.
Bei RGB-Bildern wird es als Tupel von (R, G, B) angegeben.
im_rotate = im.rotate(45, fillcolor=(255, 128, 0), expand=True)