Conversion d'images RVB en niveaux de gris en Python
La conversion d'images RVB en niveaux de gris est une opération fondamentale dans le traitement d'image. En Python, il existe différentes approches pour accomplir cette tâche en utilisant des bibliothèques populaires telles que scikit-image, NumPy et Pillow.
Pillow
Pillow est une puissante bibliothèque Python pour la manipulation d'images. Il fournit une méthode pratique pour convertir les images RVB en niveaux de gris à l'aide de la fonction de conversion :
from PIL import Image img = Image.open('image.png').convert('L')
L'argument « L » spécifie que l'image doit être convertie en niveaux de gris, en préservant les valeurs de luminance. Si l'image d'entrée contient un canal alpha (transparence) et qu'elle doit être préservée, utilisez plutôt le mode 'LA'.
NumPy et Matplotlib
Une autre approche consiste à utilisez NumPy et Matplotlib. NumPy fournit une implémentation simple de la conversion RVB en niveaux de gris :
import numpy as np def rgb2gray(rgb): return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])
Cette fonction utilise une somme pondérée des valeurs de rouge, de vert et de bleu pour calculer l'intensité des niveaux de gris. Avec Matplotlib, vous pouvez charger et afficher l'image en niveaux de gris :
import matplotlib.pyplot as plt import matplotlib.image as mpimg img = mpimg.imread('image.png') gray = rgb2gray(img) plt.imshow(gray, cmap=plt.get_cmap('gray'), vmin=0, vmax=1) plt.show()
scikit-image
scikit-image est une bibliothèque Python spécialisée pour le traitement d'images. Il propose une fonction appelée color.rgb2gray pour la conversion des niveaux de gris :
from skimage import color img = color.rgb2gray(mpimg.imread('image.png'))
Implémentation supplémentaire
La fonction fournie par Sebastian accomplit également la tâche efficacement, mais elle fonctionne sur les canaux RVB individuels et peuvent être moins efficaces lorsque vous travaillez avec de grandes images. Néanmoins, il démontre une implémentation simple de la formule de conversion en niveaux de gris.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!