Kissen: Bildverarbeitungsbibliothek. Leichter und einfacher als Scikit-Image und OpenCV.
Installation
$ pip install -U Pillow
Holen Sie sich Bild mit wget
$ cd <workspace>
$ wget --no-check-certificate -O gorilla.jpg https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Male_silverback_Gorilla.JPG/236px-Male_silverback_Gorilla.JPG
$ atom test_pillow.py #Siehe unten
Ein Skript, das ein Bild lädt, zeichnet und speichert
test_pillow.py
from __future__ import print_function
from PIL import Image, ImageDraw, ImageFont
#Aus Datei lesen
im = Image.open('gorilla.JPG')
#Bildinformationen
print(im.format, im.size, im.mode)
#Codekonvertierung Grau
# im = im.convert("L")
#Codekonvertierung Alpha Channel hinzugefügt
# im = im.convert('RGBA')
#Codekonvertierung RGB2BGR
# r, g, b = im.split()
# im = Image.merge("RGB", (b, g, r))
#Flächenschnitt
# box = (50, 50, 200, 200) # left, upper, right, lower
# region = im.crop(box)
# region
# region.show()
#Bereich einfügen
# im = im.paste(region, box)
#Bildkonvertierung
# im = im.transpose(Image.FLIP_LEFT_RIGHT)
# im = im.transpose(Image.ROTATE_90)
# im = im.rotate(45)
#Filtern
# from PIL import ImageFilter
# im = im.filter(ImageFilter.BLUR)
#Zeichnung
# font_Schlagen Sie im Buch nach und wählen Sie Ihre Lieblingsschriftart@mac
fnt = ImageFont.truetype('/Library/Fonts/Arial.ttf', size=20)
d = ImageDraw.Draw(im)
d.line((0, 0) + im.size, fill=(128,0,0), width=2)
d.line((0, im.size[1], im.size[0], 0), fill=(128,0,0), width=2)
# draw rectangle
import numpy as np
thickness = 5
left, top, right, bottom = 30,20, 220, 220 #Wirklich tief_Verwenden Sie das Lernen. Diesmal bezeichnet.
text_origin = (10,10)
label_size = d.textsize("gorilla", fnt)
for i in range(thickness):
d.rectangle([left + i, top + i, right - i, bottom - i], outline=(0,0,128))
d.rectangle([text_origin, tuple(np.array(text_origin) + label_size)], fill=(0,0,128))
d.text(text_origin, "gorilla", font=fnt, fill=(255,255,255))
del d
#Bild speichern
im.save('gorilla_convert.jpg')
#Bildschirm
im.show()
Lauf
$ python test_pillow.py
Bildschirmaufnahme
from PIL import ImageGrab
ImageGrab.grab(bbox=(0, 50, 800, 650))
Recommended Posts