[Python] Traitement d'image avec scicit-image

Chargement des fichiers image

In [5]: from skimage import io

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

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

Écriture du fichier image

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

Écriture de plusieurs fichiers image

Au format tiff, plusieurs fichiers image peuvent être enregistrés en un seul fichier comme indiqué ci-dessous.

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

Affichage de l'image

In [8]: io.imshow(I)

skimage_01.png

Conversion de couleur

RGB → Gray

In [9]: from skimage.color import rgb2gray

In [10]: G = rgb2gray(I)

In [11]: io.imshow(G)

skimage_02.png

Voir ici pour d'autres conversions de couleurs.

Changer le type et la valeur

Effectuez la conversion de type et la conversion de valeur en même temps. Dans le cas de img_as_float, la valeur de 255 à 0 est convertie en la valeur de 1,0 à 0,0. Si vous souhaitez simplement convertir le type, utilisez un type.

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

Redimensionnement d'image

scikit-image a également transform.resize, mais comme la méthode de conversion ne peut pas être spécifiée, imresize de scipy est utilisé.

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] Traitement d'image avec scicit-image
Traitement d'image avec Python (partie 2)
Traitement d'image avec Python (partie 1)
Traitement d'image avec Python (3)
traitement d'image python
Traitement d'image avec la binarisation Python 100 knocks # 3
100 traitement d'image par Python Knock # 2 Échelle de gris
Traitement d'image par Python 100 knock # 10 filtre médian
Traitement d'image avec MyHDL
100 traitement d'image avec Python Knock # 8 Max Pooling
Traitement d'image avec Python et OpenCV [Tone Curve]
Traitement d'image par Python 100 knock # 12 motion filter
Dessin avec Matrix-Reinventor of Python Image Processing-
Traitez facilement des images en Python avec Pillow
Traitement d'image avec Python 100 knocks # 7 pooling moyen
Traitement d'image léger avec Python x OpenCV
Traitement d'image par Python 100 knock # 9 Filtre Gaussien
Traitement d'image avec PIL
Traitement d'image à partir de zéro avec python (4) Extraction de contour
Traitement d'image avec la configuration de l'environnement Python pour Windows
Traitement d'image avec PIL (Pillow)
"Traitement Apple" avec OpenCV3 + Python3
Édition d'image avec python OpenCV
Traitement du signal acoustique avec Python (2)
Traitement du signal acoustique avec Python
Tri des fichiers image avec Python (2)
Tri des fichiers image avec Python (3)
Tweet avec image en Python
Tri des fichiers image avec Python
Traitement d'image par python (Pillow)
Collection de traitement d'image en Python
Découpez une image avec python
Principes de base du traitement d'image en temps réel avec opencv
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
[Python] Traitement parallèle facile avec Joblib
100 traitements de langage avec Python
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Segmentation d'image avec scikit-image et scikit-learn
100 traitements de langage avec Python (chapitre 3)
Notes personnelles pour le traitement d'images python
Envoyer l'image avec python et enregistrer avec php
Génération d'images dégradées avec Python [1] | np.linspace
[Jouons avec Python] Traitement d'image en monochrome et points
[Traitement d'image] Postérisation
FizzBuzz en Python3
Grattage avec Python
mail html avec image à envoyer avec python
Statistiques avec python
Traitement d'image par le remplacement du canal Python 100 Knock # 1
Créer une visionneuse de traitement d'image avec PySimpleGUI
Grattage avec Python
Créez une image factice avec Python + PIL.
Python avec Go
Effectuez périodiquement un traitement arbitraire avec Python Twisted
Laissez Heroku faire le traitement en arrière-plan avec Python
Intégrer avec Python
100 traitements de langage avec Python (chapitre 2, partie 2)
Traitement de fichiers Python
Échelle de gris par matrice-Reinventor of Python image processing-
AES256 avec python
Utiliser le chiffrement de la bibliothèque de chiffrement avec l'image Python de Docker