So verwenden Sie Python zur Farbanpassung von Bildern
Einführung:
In der modernen Gesellschaft ist die Bildverarbeitung in vielen Bereichen weit verbreitet, beispielsweise bei Filmspezialeffekten, bei der medizinischen Bilddiagnose usw. Unter diesen ist die Bildfarbanpassung eine wichtige Technologie, die die Farben zwischen verschiedenen Bildern einheitlich machen und so das Benutzererlebnis verbessern kann. In diesem Artikel wird die Verwendung von Python zum Farbabgleich von Bildern vorgestellt und anhand von Codebeispielen ausführlich erläutert.
1. Abhängige Bibliotheken installieren
Bevor wir beginnen, müssen wir sicherstellen, dass wir die Python-Umgebung und die PIL-Bibliothek (Python Imaging Library) installiert haben. Wenn die PIL-Bibliothek nicht installiert ist, können Sie sie mit dem folgenden Befehl installieren:
pip install pillow
2. Bilddaten lesen
Zuerst müssen wir die Daten des abzugleichenden Bilds und des Referenzbilds lesen und in konvertieren eine betriebsfähige Datenstruktur. Angenommen, wir haben zwei Bilder: image.jpg
是待匹配的图片,reference.jpg
ist das Referenzbild:
from PIL import Image def read_image(filename): image = Image.open(filename) data = list(image.getdata()) width, height = image.size return data, width, height image_data, image_width, image_height = read_image('image.jpg') reference_data, reference_width, reference_height = read_image('reference.jpg')
3. Berechnen Sie den Mittelwert und die Standardabweichung jedes Kanals.
Um eine Farbanpassung zu erreichen, müssen wir jeden einzelnen Kanal berechnen -Abgeglichenes Bild und das Referenzbild. Der Mittelwert und die Standardabweichung des Kanals. Das Codebeispiel lautet wie folgt:
import numpy as np def calculate_mean_std(data): pixels = np.array(data, dtype=np.float32) mean = np.mean(pixels, axis=0) std = np.std(pixels, axis=0) return mean, std image_mean, image_std = calculate_mean_std(image_data) reference_mean, reference_std = calculate_mean_std(reference_data)
4. Farbabgleich
Mit dem Mittelwert und der Standardabweichung jedes Kanals können wir die folgende Formel für den Farbabgleich verwenden:
matched_data = (image_data - image_mean) / image_std * reference_std + reference_mean
Das Codebeispiel lautet wie folgt:
def match_color(data, mean, std, reference_mean, reference_std): matched_data = np.array(data, dtype=np.float32) matched_data = (matched_data - mean) / std * reference_std + reference_mean matched_data = matched_data.clip(0, 255) return list(matched_data.astype(np.uint8)) matched_image_data = match_color(image_data, image_mean, image_std, reference_mean, reference_std)
5 . Nach dem Speichern der Übereinstimmung
Abschließend speichern wir die übereinstimmenden Bilddaten als neue Bilddatei. Das Codebeispiel lautet wie folgt:
def save_image(data, width, height, filename): image = Image.new('RGB', (width, height)) image.putdata(data) image.save(filename) save_image(matched_image_data, image_width, image_height, 'matched_image.jpg')
Fazit:
Durch die obigen Schritte haben wir gelernt, wie man Python zum Farbabgleich von Bildern verwendet . Diese Technologie wird häufig in der Bildverarbeitung, im Design und in anderen Bereichen eingesetzt und kann die Qualität und Konsistenz von Bildern effektiv verbessern. Ich hoffe, dieser Artikel ist hilfreich für Sie und Sie können ihn gerne ausprobieren und auf tatsächliche Projekte anwenden.
Das obige ist der detaillierte Inhalt vonSo passen Sie Bilder mit Python farblich an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!