[Python] Bildverarbeitung mit Scicit-Image

Laden von Bilddateien

In [5]: from skimage import io

In [6]: I = io.imread('lena512color.tiff')

In [7]: print I.shape
(512, 512, 3)

Bilddatei schreiben

In [12]: io.imsave('output.bmp', I)

Mehrere Bilddateien schreiben

Im TIFF-Format können mehrere Bilddateien wie unten gezeigt als eine Datei gespeichert werden.

In [13]: I1 = io.imread('Lenna.bmp')

In [14]: I2 = io.imread('Mandrill.bmp')

In [15]: I3 = io.imread('Parrots.bmp')

In [16]: io.imsave('output.tiff', [I1, I2, I3])

In [17]: I4 = io.imread('output.tif')

In [18]: I4.shape
Out[18]: (3, 256, 256, 3)

In [19]: io.imshow(I4[0])

In [20]: io.imshow(I4[1])

In [21]: io.imshow(I4[2])

skimage_03.png skimage_04.png skimage_05.png

Bildschirm

In [8]: io.imshow(I)

skimage_01.png

Farbkonvertierung

RGB → Gray

In [9]: from skimage.color import rgb2gray

In [10]: G = rgb2gray(I)

In [11]: io.imshow(G)

skimage_02.png

Weitere Farbkonvertierungen finden Sie unter hier.

Ändern Sie Typ und Wert

Führen Sie gleichzeitig eine Typkonvertierung und eine Wertkonvertierung durch. Im Fall von img_as_float wird der Wert von 255 bis 0 in den Wert von 1,0 bis 0,0 konvertiert. Wenn Sie nur den Typ konvertieren möchten, verwenden Sie astype.

In [50]: from skimage import img_as_float, img_as_int, img_as_ubyte, img_as_uint

In [51]: I_float = img_as_float(I)

In [52]: print I_float.dtype, I_float.max(), I_float.min()
float64 1.0 0.0117647058824

In [53]: I_int   = img_as_int(I)

In [54]: print I_int.dtype, I_int.max(), I_int.min()
int16 32767 385

In [55]: I_ubyte = img_as_ubyte(I)

In [56]: print I_ubyte.dtype, I_ubyte.max(), I_ubyte.min()
uint8 255 3

In [57]: I_uint  = img_as_uint(I)

In [58]: print I_uint.dtype, I_uint.max(), I_uint.min()
uint16 65535 771

Bildgröße ändern

scikit-image hat auch transform.resize, aber da die Konvertierungsmethode nicht angegeben werden kann, wird imresize von scipy verwendet.

In [79]: from skimage import io

In [80]: import numpy as np

In [81]: from scipy.misc import imresize

In [82]: I = io.imread('Lenna.bmp')

In [83]: IN = imresize(I,(I.shape[0]*2, I.shape[1]*2), interp='nearest')

In [84]: IB = imresize(I,(I.shape[0]*2, I.shape[1]*2), interp='bilinear')

In [85]: IC = imresize(I,(I.shape[0]*2, I.shape[1]*2), interp='bicubic')

In [86]: io.imshow(np.hstack((IN[200:264,200:264], IB[200:264,200:264], IC[200:264,200:264])))

skimage_06.png

Recommended Posts

[Python] Bildverarbeitung mit Scicit-Image
Bildverarbeitung mit Python (Teil 2)
Bildverarbeitung mit Python (Teil 1)
Bildverarbeitung mit Python (3)
Python-Bildverarbeitung
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
100 Bildverarbeitung mit Python Knock # 2 Graustufen
Bildverarbeitung mit Python 100 Knock # 10 Medianfilter
Bildverarbeitung mit MyHDL
100 Bildverarbeitung mit Python Knock # 8 Max Pooling
Bildverarbeitung mit Python & OpenCV [Tonkurve]
Bildverarbeitung mit Python 100 Knock # 12 Bewegungsfilter
Zeichnen mit Matrix-Reinventor von Python Image Processing-
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Die Bildverarbeitung mit Python 100 führt zu einem durchschnittlichen Pooling von # 7
Leichte Bildverarbeitung mit Python x OpenCV
Bildverarbeitung mit Python 100 Knock # 9 Gauß-Filter
Bildverarbeitung mit PIL
Bildverarbeitung von Grund auf mit Python (4) Konturextraktion
Bildverarbeitung mit Python Environment Setup für Windows
Bildverarbeitung mit PIL (Pillow)
"Apple-Verarbeitung" mit OpenCV3 + Python3
Bildbearbeitung mit Python OpenCV
Akustische Signalverarbeitung mit Python (2)
Sortieren von Bilddateien mit Python (2)
Sortieren von Bilddateien mit Python (3)
Tweet mit Bild in Python
Bilddateien mit Python sortieren
Bildverarbeitung mit Python (Pillow)
Bildverarbeitungssammlung in Python
Schneiden Sie ein Bild mit Python aus
Grundlagen der Echtzeit-Bildverarbeitung mit opencv
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
[Python] Einfache Parallelverarbeitung mit Joblib
100 Sprachverarbeitungsklopfen mit Python (Kapitel 1)
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Bildsegmentierung mit Scikit-Image und Scikit-Learn
100 Sprachverarbeitungsklopfen mit Python (Kapitel 3)
Persönliche Notizen für die Python-Bildverarbeitung
Sende Bild mit Python und speichere mit PHP
Erzeugung von Verlaufsbildern mit Python [1] | np.linspace
[Lass uns mit Python spielen] Bildverarbeitung zu Monochrom und Punkten
[Bildverarbeitung] Posterisierung
FizzBuzz in Python3
Scraping mit Python
HTML-Mail mit Bild zum Senden mit Python
Statistik mit Python
Bildverarbeitung durch Python 100 Knock # 1 Kanalersatz
Erstellen Sie mit PySimpleGUI einen Bildverarbeitungs-Viewer
Scraping mit Python
Erstellen Sie mit Python + PIL ein Dummy-Image.
Python mit Go
Führen Sie regelmäßig eine beliebige Verarbeitung mit Python Twisted durch
Lassen Sie Heroku die Hintergrundverarbeitung mit Python durchführen
In Python integrieren
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 2)
Python-Dateiverarbeitung
Graustufen durch Matrix-Reinventor der Python-Bildverarbeitung-
AES256 mit Python
Verwenden Sie die Verschlüsselung der Verschlüsselungsbibliothek mit dem Python-Image von Docker