Avec python il est relativement direct d'obtenir une matrice RGB à partir d'une image en passant par imread du module misc de scipy (voir Image manipulation and processing using Numpy and Scipy et python - RGB matrix of an image). Exemple avec l'image lena.png:
>>> from scipy import misc>>> M = misc.imread('lena.png')>>> type(M)<type 'numpy.ndarray'>
Une fois l'image transposée sous forme de matrice intitulée ici M, il est alors possible d'obtenir d'autres informations comme:
>>> M.shape(512, 512, 3)>>> M.dtypedtype('uint8')>>> M[200,100,:]array([175, 59, 69], dtype=uint8)>>> M.max()255>>> M.min()3
La matrice M est de forme (512, 512, 3), la dimension 3 correspondant au code RGB (Red: Rouge, Green: Vert, Blue: Bleu) dont les valeurs min et max sont dans le cas de cette image entre 3 et 255. Le code RGB pour le pixel (200,100) est de (175, 59, 69). Note: il est possible de faire quelque chose de similaire en passant par le module PIL:
>>> import numpy as np>>> from PIL import Image>>> img = Image.open('lena.png')>>> img<PIL.PngImagePlugin.PngImageFile image mode=RGB size=512x512 at 0x4581D00>>>> M = np.array(img)
Recherches associées
| Liens | Site |
|---|---|
| Image manipulation and processing using Numpy and Scipy | Scipy Doc |
| python - RGB matrix of an image | stackoverflow |
| convert rgb image to grayscale in python | stackoverflow |
| PIL | PIL |
