Heim >Backend-Entwicklung >Python-Tutorial >Zehn Zeilen Python-Code zum Ersetzen der Hintergrundfarbe von Passfotos

Zehn Zeilen Python-Code zum Ersetzen der Hintergrundfarbe von Passfotos

WBOY
WBOYnach vorne
2023-05-03 14:01:062155Durchsuche

Zehn Zeilen Python-Code zum Ersetzen der Hintergrundfarbe von Passfotos

In diesem Artikel erfahren Sie, wie Sie die Hintergrundfarbe Ihres Ausweisfotos mit einem Python-Programm ändern, sodass Sie sich in Zukunft keine Gedanken über die Änderung des Hintergrunds Ihres Ausweisfotos machen müssen.

Zehn Zeilen Python-Code zum Ersetzen der Hintergrundfarbe von Passfotos

Idee:

  • Zuerst die Hintergrundfarbe des Originalfotos entfernen
  • Dann eine neue Hintergrundfarbe hinzufügen

Die Schritte sind sehr einfach, die Idee ist klar und die Bedienung ist auch sehr einfach . Es kann in zehn Codezeilen erledigt werden, nachdem Sie es gelesen haben.

Zehn Zeilen Python-Code zum Ersetzen der Hintergrundfarbe von Passfotos

1. Entfernen Sie die Hintergrundfarbe des Originalbildes

import os
# 去掉背景颜色
os.system('backgroundremover -i "'+str(in_path)+'"-o "cg_output.jpg"')

in_path ist der Pfad des Originalfotos, cg_output.jpg ist das Foto nach dem Entfernen des Hintergrunds

Tipps: Für die spezifische Verwendung des Hintergrundentferners Bibliothek, siehe meinen vorherigen Artikel Artikel (Eine Zeile Python-Code zum Entfernen des Fotohintergrunds)

2. Fügen Sie eine neue Hintergrundfarbe hinzu

# 加上背景颜色
no_bg_image = Image.open("cg_output.jpg")
x, y = no_bg_image.size
new_image = Image.new('RGBA', no_bg_image.size, color=color)
new_image.paste(no_bg_image, (0, 0, x, y), no_bg_image)
new_image.save(out_path)

out_path ist der Fotopfad nach dem Ersetzen der Hintergrundfarbe, Farbe ist die neue Farbe Um zu ersetzen, geben Sie einfach das entsprechende Englisch ein, z. B. rot: rot

color = "red"
# 红:red、蓝:blue、黑:black、白:white

Kompletter Code

import os
from PIL import Image
# 输入
in_path = "replace.jpg"
# 输出
out_path = "out.png"
# 要替换的背景颜色
color = "red"
# 红:red、蓝:blue、黑:black、白:white
# 去掉背景颜色
os.system('backgroundremover -i "'+str(in_path)+'"-o "cg_output.jpg"')
# 加上背景颜色
no_bg_image = Image.open("cg_output.jpg")
x, y = no_bg_image.size
new_image = Image.new('RGBA', no_bg_image.size, color=color)
new_image.paste(no_bg_image, (0, 0, x, y), no_bg_image)
new_image.save(out_path)

Allgemeine Schritte des Codes:

Ersetzen Sie.jpg (Foto mit blauem Hintergrund) durch photo out.png mit roter (farbiger) Hintergrundfarbe

Hier zur Erinnerung Bitte beachten Sie, dass das Ausgabefoto (out.png) im PNG-Format gespeichert werden muss und das Programm in anderen Formaten wie JPG einen Fehler meldet.

Beispieleffekt:

Zehn Zeilen Python-Code zum Ersetzen der Hintergrundfarbe von Passfotos

(Bildquellennetzwerk)

Links ist das Originalbild (blau), rechts ist das ersetzte Foto

(blau wird in rot geändert)

Zusammenfassung

Python Ersatzzertifikat Es ist nicht schwierig, ein Foto der Hintergrundfarbe zu machen. Die Idee besteht darin, zuerst den Hintergrund zu entfernen und dann eine neue Hintergrundfarbe hinzuzufügen.

Das obige ist der detaillierte Inhalt vonZehn Zeilen Python-Code zum Ersetzen der Hintergrundfarbe von Passfotos. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen