python
%pylab inline
from PIL import Image,ImageDraw,ImageFont
img = Image.open('work-image/lena.jpg')
pl_img = np.array(img) ; plt.imshow( pl_img ) #Anzeige
python
#In Graustufen konvertieren
gray_img = img.convert("L")
#Nicht die beabsichtigte Anzeige
pl_img = np.array(gray_img) ; plt.imshow( pl_img ) #Anzeige
#Dateiinformationen anzeigen
print('size : ', gray_img.size)
print('format : ', gray_img.format)
print('mode : ', gray_img.mode)
print('palette : ', gray_img.palette)
print('info : ', gray_img.info)
#Ich denke ich muss das tun
import matplotlib.cm as cm
plt.imshow(pl_img, cmap = cm.Greys_r)
Nun, diesmal wird gefiltert
Zuerst vom eingebauten Filter
python
from PIL import ImageFilter, ImageOps
python
#Verwischen
pl_img = np.array(gray_img.filter(ImageFilter.BLUR)); plt.imshow(pl_img, cmap = cm.Greys_r)
python
#Konturextraktion
pl_img = np.array(gray_img.filter(ImageFilter.CONTOUR)); plt.imshow(pl_img, cmap = cm.Greys_r)
python
#Prägung
pl_img = np.array(filter_img = gray_img.filter(ImageFilter.EMBOSS)); plt.imshow(pl_img, cmap = cm.Greys_r)
python
#Minimaler Filter
pl_img = np.array(gray_img.filter(ImageFilter.MinFilter(5))); plt.imshow(pl_img, cmap = cm.Greys_r)
Ich werde die theoretische Sache später schreiben (Ist sie wirklich geschrieben?)
python
#Vertikale Kanten erkennen
flist = [1, 1, 1,
0, 0, 0,
-1, -1, -1]
flt = ImageFilter.Kernel((3, 3), flist, scale=1)
filter_img = gray_img.filter(flt)
pl_img = np.array(filter_img) ; plt.imshow(pl_img, cmap = cm.Greys_r)
python
#Erkennt horizontale Kanten
flist = [1, 0, -1,
1, 0, -1,
1, 0, -1]
flt = ImageFilter.Kernel((3, 3), flist, scale=1)
filter_img = gray_img.filter(flt)
pl_img = np.array(filter_img) ; plt.imshow(pl_img, cmap = cm.Greys_r)
python
#4 Nähe Laplace
flist = [0, 1, 0,
1, -4, 1,
0, 1, 0]
flt = ImageFilter.Kernel((3, 3), flist, scale=1)
filter_img = gray_img.filter(flt)
pl_img = np.array(filter_img) ; plt.imshow(pl_img, cmap = cm.Greys_r)
python
#8 Nähe Laplace
flist = [1, 1, 1,
1, -8, 1,
1, 1, 1]
flt = ImageFilter.Kernel((3, 3), flist, scale=1)
filter_img = gray_img.filter(flt)
pl_img = np.array(filter_img) ; plt.imshow(pl_img, cmap = cm.Greys_r)
filter_img.save('work-image/filter05-lena.png')
python
#8 Beispiel für die Verwendung von Laplace in der Nähe
flist = [0.4, 0.4, 0.4,
0.4, -2.2, 0.4,
0.4, 0.4, 0.4]
flt = ImageFilter.Kernel((3, 3), flist, scale=1)
filter_img = gray_img.filter(flt)
pl_img = np.array(filter_img) ; plt.imshow(pl_img, cmap = cm.Greys_r)
↓ Ich habe nbviewer ein Notizbuch gegeben (dies ist das Hauptbuch) nbviewer.ipython.org/github/suto3/git-public/blob/master/python/notebook/Pillow-workflow03.ipynb
↓ Klicken Sie hier für die Arbeitsumgebung Aufbau der Kissenumgebung - Virtuelle Umgebung von virtualenv, interaktive Umgebung von iPython - Qiita
Verwenden Sie Pillow auf iPython (Teil 1) --Qiita
Verwenden Sie Pillow auf iPython (Teil 2) --Qiita
Recommended Posts