Maison > développement back-end > Tutoriel Python > Comment convertir des images RVB en niveaux de gris en Python à l'aide de Pillow et Matplotlib ?

Comment convertir des images RVB en niveaux de gris en Python à l'aide de Pillow et Matplotlib ?

Mary-Kate Olsen
Libérer: 2024-12-01 07:49:10
original
504 Les gens l'ont consulté

How to Convert RGB Images to Grayscale in Python Using Pillow and Matplotlib?

Conversion d'images RVB en niveaux de gris en Python

Dans le traitement d'images, la conversion d'images RVB en niveaux de gris est une opération courante. Bien que de nombreuses approches existent, trouver la méthode intégrée dans les bibliothèques puissantes comme NumPy ou Matplotlib peut simplifier votre tâche.

Bibliothèque Pillow :

Une solution simple consiste à utilisez la bibliothèque d'images Python (Pillow). Il offre une méthode pratique pour convertir les images RVB en niveaux de gris :

from PIL import Image
img = Image.open('image.png').convert('L')
img.save('greyscale.png')
Copier après la connexion

Ce code lit l'image RVB, la convertit en niveaux de gris et enregistre l'image résultante.

Utilisation de Matplotlib avec une formule :

Une autre approche consiste à utiliser la formule Y' = 0,2989 R 0,5870 G 0,1140 B pour convertir les images RVB en niveaux de gris. Avec Matplotlib, vous pouvez implémenter cela comme :

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

def rgb2gray(rgb):
    return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])

img = mpimg.imread('image.png')     
gray = rgb2gray(img)    
plt.imshow(gray, cmap=plt.get_cmap('gray'), vmin=0, vmax=1)
plt.show()
Copier après la connexion

Ce code charge l'image, la convertit en niveaux de gris à l'aide de la formule et affiche l'image 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal