Versuchen Sie es mit Pillow auf iPython (Teil 3).

Kissenarbeitsablauf (3)

  1. Laden Sie das Bild mit Image.open
  2. Konvertieren Sie das Bild in Graustufen
  3. Gonyo Gonyo das Bild
  4. Speichern Sie das mit Image.save bearbeitete Bild

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

lena.jpg

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)

gray_lena.jpg

Nun, diesmal wird gefiltert

Eingebauter Filter

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)

blur-lena.png

python


#Konturextraktion
pl_img = np.array(gray_img.filter(ImageFilter.CONTOUR)); plt.imshow(pl_img, cmap = cm.Greys_r)

contour-lena.png

python


#Prägung
pl_img = np.array(filter_img = gray_img.filter(ImageFilter.EMBOSS)); plt.imshow(pl_img, cmap = cm.Greys_r)

emboss-lena.png

python


#Minimaler Filter
pl_img = np.array(gray_img.filter(ImageFilter.MinFilter(5))); plt.imshow(pl_img, cmap = cm.Greys_r)

minf-lena.png

Eigener Filter

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)

filter01-lena.png

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)

filter02-lena.png

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)

filter03-lena.png

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') 

filter04-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)

filter05-lena.png

↓ 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

Versuchen Sie es mit Pillow auf iPython (Teil 1)
Versuchen Sie es mit Pillow auf iPython (Teil 2)
Versuchen Sie es mit Pillow auf iPython (Teil 3).
Versuchen Sie es mit OpenCV unter Windows
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 1)
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 2)
Versuchen Sie es mit ArUco mit Raspberry Pi
Versuchen Sie es mit Bash unter Windows 10 2 (TensorFlow-Installation)
Versuchen Sie es mit Tkinter
Versuchen Sie es mit Docker-Py
Versuchen Sie es mit einem Ausstecher
Versuchen Sie es mit Geopandas
Versuchen Sie es mit Selen
Versuchen Sie es mit scipy
Versuchen Sie es mit pandas.DataFrame
Versuchen Sie es mit Django-Swiftbrowser
Versuchen Sie es mit matplotlib
Versuchen Sie es mit tf.metrics
Versuchen Sie es mit PyODE
Versuchen Sie, QR-Code mit Raspberry Pi zu verwenden
Python: Versuchen Sie, die Benutzeroberfläche von Pythonista 3 auf dem iPad zu verwenden
Versuchen Sie es mit dem Python-Webframework Tornado Part 1
Machen Sie Vorhersagen mithilfe der Regression der tatsächlichen Daten ~ Teil1
Versuchen Sie es mit dem Python-Webframework Tornado Part 2
Visualisieren Sie Netzwerkdaten aus IPython Notebook mit Cytoscape Part 1
Versuchen Sie es mit virtualenv (virtualenvwrapper)
Versuchen Sie es mit E-Cell 4 unter Windows 7 oder Mac OS X.
Versuchen Sie es mit dem Temperatursensor (LM75B) mit Raspeye.
Ich habe versucht, Ipython zu verwenden
Versuchen Sie es jetzt mit virtualenv
Versuchen Sie es mit Django templates.html
[Kaggle] Versuchen Sie es mit LGBM
Versuchen Sie es mit dem Feed-Parser von Python.
Versuchen Sie es mit Pythons Tkinter
Probieren Sie FEniCS unter Windows aus!
Versuchen Sie Poerty unter Windows
Hinweise zur Verwendung von Alembic
Versuchen Sie es mit Tweepy [Python2.7]
Versuchen Sie Deepdream auf dem Mac
Versuchen Sie es mit Pytorchs collate_fn
Versuchen Sie, PythonTex mit Texpad zu verwenden.
Versuchen Sie es mit normaler Linux-Programmierung Teil 7
[Python] Versuchen Sie, Tkinters Leinwand zu verwenden
OpenPose auf MacBook Pro Teil 2
Versuchen Sie es mit Jupyters Docker-Image
Versuchen Sie es mit Scikit-Learn (1) - K-Clustering nach Durchschnittsmethode
Stellen Sie iPython unter OSGeo4W zur Verfügung
Versuchen Sie es mit matplotlib mit PyCharm
Versuchen Sie es mit Azure Logic Apps
Versuchen Sie es mit Kubernetes Client -Python-
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit normaler Linux-Programmierung Teil 2
[Django] Hinweise zur Verwendung der Django-Debug-Symbolleiste
Anzeigen von Zeichenfolgen in IPython Notebook
Versuchen Sie, Jupyter Notebook dynamisch zu verwenden
Versuchen Sie es mit normaler Linux-Programmierung Teil 3
Versuchen Sie "100 Schläge auf Data Science" ①
Versuchen Sie es mit AWS SageMaker Studio
Versuchen Sie, Englisch PDF Teil 1 zu übersetzen