Avec python et la bibliothèque PIL il est possible de convertir une image couleur en niveau de gris comme dans cet exemple:

from PIL import Imageimg = Image.open('lena.png').convert('LA')img.save('greyscale.png')
Le problème quand on veut convertir une image couleur en niveau de gris est que cette conversion n'est pas unique (voir l'article de wikipedia). Il est donc intéressant de pouvoir convertir une image couleur en niveau de gris tout en agissant sur les poids relatifs sur les couleurs RGB comme dans cet exemple:
import numpy as npimport matplotlib.pyplot as pltimport matplotlib.image as mpimgdef rgb2gray(rgb):return np.dot(rgb[...,:3], [0.299, 0.587, 0.144])img = mpimg.imread('lena.png')gray = rgb2gray(img)plt.imshow(gray, cmap = plt.get_cmap('gray'))plt.savefig('lena_greyscale.png')plt.show()
Références
| Liens | Site |
|---|---|
| convert rgb image to grayscale in python | stackoverflow |
| PIL | PIL |
| Grayscale | Wikipedia |
| Image manipulation and processing using Numpy and Scipy | Scipy Doc |
| python - RGB matrix of an image | stackoverflow |
| Display image as grayscale using matplotlib | stackoverflow |
