Maison >développement back-end >Tutoriel Python >Comment convertir efficacement des images RVB en niveaux de gris en Python ?

Comment convertir efficacement des images RVB en niveaux de gris en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-04 19:31:16930parcourir

How to Efficiently Convert RGB Images to Grayscale in Python?

Conversion d'images RVB en niveaux de gris en Python

Question :

Comment puis-je convertir efficacement une image RVB en niveaux de gris à l'aide Python ?

Problème Description :

Tentative de convertir une image RVB en niveaux de gris à l'aide de la fonction imread de matplotlib, mais rencontre des limitations dans les opérations disponibles. La mise en œuvre manuelle de la conversion RVB en niveaux de gris s'est révélée inefficace. À la recherche d'une solution professionnelle intégrée pour cette tâche courante de traitement d'image.

Réponses :

Utilisation de Pillow :

from PIL import Image
img = Image.open('image.png').convert('L')
img.save('greyscale.png')

Utilisation de Matplotlib et du RVB en niveaux de gris Formule :

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()

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!

Déclaration:
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