Gelegentlich möchten Sie möglicherweise OpenCV oder Facenet verwenden, um die Gesichtserkennung eines Bildes durchzuführen und eine Verarbeitung durchzuführen. Natürlich erkennen diese Werkzeuge das Gesicht, aber ich habe festgestellt, dass unnötige Dinge wie der Hintergrund im Bild "die Genauigkeit der Gesichtserkennung drastisch verringern können". Entfernen wir jetzt den Hintergrund im Voraus, um die Genauigkeit der Gesichtserkennung zu stabilisieren! Also werden wir den Hintergrund entfernen. Nun, jedes Motiv ist in Ordnung.
remove.bg Die Hintergrundentfernung selbst verwendet eine Webanwendung namens remove.bg. Es ist schneller zu sehen, wie es ist. before after remove.bg erleichtert das Entfernen von Hintergründen mit so hoher Genauigkeit im Web.
Als Teil des Systems, das ich implementiere, automatisiere ich die Struktur des Betrachtens der "neuesten" Bilder in dem Verzeichnis, in dem die Bilder gespeichert sind, Entfernen des Hintergrunds und Zurückgeben der Ergebnisse in ein anderes Verzeichnis. ..
remove.bg stellt eine API bereit, mit der Sie das Entfernen des Hintergrunds automatisieren können. Sie können sich als Mitglied registrieren und die API bis zu 50 Mal im Monat mit einem regulären Konto kostenlos aufrufen.
# Requires "requests" to be installed (see python-requests.org)
import requests
response = requests.post(
'https://api.remove.bg/v1.0/removebg',
files={'image_file': open('/path/to/file.jpg', 'rb')},
data={'size': 'auto'},
headers={'X-Api-Key': 'INSERT_YOUR_API_KEY_HERE'},
)
if response.status_code == requests.codes.ok:
with open('no-bg.png', 'wb') as out:
out.write(response.content)
else:
print("Error:", response.status_code, response.text)
Fügen Sie den von remove.bg erhaltenen API-Schlüssel in den Teil von 'INSERT_YOUR_API_KEY_HERE' ein. Sie können die Eingabe und Ausgabe von Bildern einfach automatisieren, indem Sie den Pfad angeben. Geben Sie den Pfad des Bildes, dessen Hintergrund Sie entfernen möchten, im Teil von '/ path / to / file.jpg' an. Sie können den Verzeichnispfad angeben, indem Sie den Dateinamen des Bildes festlegen, das Sie im Teil 'no-bg.png' ausgeben möchten.
Dieses Mal möchte ich das "neueste" Bild eingeben, das mit der Mac-Standard-Photo Booth-Kamera-App aufgenommen wurde, daher werde ich eine kleine Pfadspezifikation erstellen.
i_path = '/Users/username/Pictures/Photo Booth Bibliothek/Pictures/*'
list_of_files = glob.glob(i_path)
latest_file = max(list_of_files, key=os.path.getctime)
Das Verzeichnis, in dem das Bild gespeichert wird, das Sie mit i_path erhalten möchten, wird angegeben. Ich erhalte eine Liste der Bilder im Verzeichnis mit der Glob-Funktion. Sie können das maximale Datum und die maximale Uhrzeit der Datei, dh das neueste Bild, ermitteln, indem Sie die maximale Funktion und die maximalen Optionen angeben.
import glob
import os
import requests
i_path = '/Users/username/Pictures/Photo Booth Bibliothek/Pictures/*'
list_of_files = glob.glob(i_path)
latest_file = max(list_of_files, key=os.path.getctime)
# RemoveBgAPI
response = requests.post(
'https://api.remove.bg/v1.0/removebg',
files={'image_file': open(latest_file, 'rb')},
data={'size': 'auto'},
headers={'X-Api-Key': 'INSERT_YOUR_API_KEY_HERE'},
)
if response.status_code == requests.codes.ok:
with open('/Users/username/output/no-bg.png', 'wb') as out:
out.write(response.content)
print('Success!')
else:
print("Error:", response.status_code, response.text)
Dank der remove.bg-API war die Automatisierung der Hintergrundentfernung sehr einfach zu implementieren. Darüber hinaus konnte der Trick, die neueste Bilddatei anzugeben, sofort implementiert werden, und der Zweck wurde erreicht. Es ist schön, die mühsame Arbeit manuell in das Programm zu werfen.