Je veux faire un traitement d'image en utilisant Python.
Existe-t-il un moyen simple d'importer .png
l'image comme matrice de valeurs de niveaux de gris/RVB (éventuellement en utilisant PIL)?
scipy.misc.imread()
renverra un tableau Numpy, ce qui est pratique pour beaucoup de choses.
Jusqu'à présent, personne ne parlait de matplotlib.image :
import matplotlib.image as img
image = img.imread(file_name)
Maintenant, l'image serait un tableau numpy 3D
print image.shape
Serait quelque chose comme: (317, 504, 3)
im.load
in PIL
renvoie un objet matriciel.
vous pouvez utiliser image PyGame et utiliser PixelArray pour accéder aux pixeldata
Essayez certainement
from matplotlib.image import imread
image = imread(filename)
Le nom de fichier doit de préférence être une image . Jpg . Et puis, essayez
image.shape
Cela reviendrait:
pour une image en noir et blanc ou en niveaux de gris Une matrice (n, n) où n représente la dimension des images (pixels) et les valeurs à l'intérieur de la matrice vont de 0 à 255 En général, 0 est considéré comme noir et 255 est considéré comme blanc. 128 a tendance à être gris!
Pour une image couleur ou RVB Il rendra un tenseur de 3 canaux. Chaque canal est une matrice (n, n) où chaque entrée représente respectivement le niveau de rouge, vert ou bleu à l'emplacement réel à l'intérieur de l'image.
scipy.misc.imread()
est désormais obsolète. On peut utiliser imageio.imread
au lieu de cela pour le lire comme un tableau Numpy