Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiert man RGB-Bilder in Python effizient in Graustufen?

Wie konvertiert man RGB-Bilder in Python effizient in Graustufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-04 19:31:16928Durchsuche

How to Efficiently Convert RGB Images to Grayscale in Python?

Konvertieren von RGB-Bildern in Graustufen in Python

Frage:

Wie kann ich ein RGB-Bild mit effizient in Graustufen konvertieren? Python?

Problem Beschreibung:

Versuch, ein RGB-Bild mithilfe der Imread-Funktion in Matplotlib in Graustufen zu konvertieren, stößt jedoch auf Einschränkungen bei den verfügbaren Vorgängen. Die manuelle Implementierung der Konvertierung von RGB in Graustufen erwies sich als ineffizient. Ich suche eine professionelle, integrierte Lösung für diese häufige Bildverarbeitungsaufgabe.

Antworten:

Pillow verwenden:

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

Verwendung von Matplotlib und RGB zu Graustufen Formel:

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

Das obige ist der detaillierte Inhalt vonWie konvertiert man RGB-Bilder in Python effizient in Graustufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn