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.dtype
dtype('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 |