Parfois, vous souhaiterez peut-être utiliser OpenCV ou facenet pour effectuer une reconnaissance faciale à partir d'une image et effectuer un traitement. Bien sûr, ces outils reconnaissent le visage, mais j'ai trouvé que des éléments inutiles tels que l'arrière-plan de l'image "peuvent réduire considérablement la précision de la reconnaissance faciale". Maintenant, supprimons l'arrière-plan à l'avance pour stabiliser la précision de la reconnaissance faciale! Nous allons donc supprimer l'arrière-plan. Eh bien, tout motif est bien.
remove.bg La suppression de l'arrière-plan elle-même utilise une application Web appelée remove.bg. C'est plus rapide de voir à quoi ça ressemble. before after remove.bg permet de supprimer facilement les arrière-plans avec une telle précision sur le Web.
Dans le cadre du système que j'implémente, je vais automatiser la structure de la recherche des "dernières" images dans le répertoire où les images sont stockées, en supprimant l'arrière-plan et en renvoyant les résultats dans un autre répertoire. ..
remove.bg expose une API que vous pouvez utiliser pour automatiser la suppression de l'arrière-plan. Vous pouvez vous inscrire en tant que membre et appeler l'API gratuitement jusqu'à 50 fois par mois avec un compte régulier.
# 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)
Insérez la clé API obtenue par remove.bg dans la partie "INSERT_YOUR_API_KEY_HERE". Vous pouvez facilement automatiser l'entrée et la sortie des images en spécifiant le chemin. Spécifiez le chemin de l'image dont vous souhaitez supprimer l'arrière-plan dans la partie de '/ chemin / vers / fichier.jpg'. Vous pouvez spécifier le chemin du répertoire en décidant du nom de fichier de l'image que vous souhaitez afficher dans la partie "no-bg.png ".
Cette fois, je veux entrer la "dernière" image prise avec l'application de caméra standard Mac Photo Booth, donc je vais concevoir une petite spécification de chemin.
i_path = '/Users/username/Pictures/Photothèque Photo Booth/Pictures/*'
list_of_files = glob.glob(i_path)
latest_file = max(list_of_files, key=os.path.getctime)
Le répertoire dans lequel l'image que vous souhaitez obtenir avec i_path est stockée est spécifié. Je reçois une liste d'images dans le répertoire avec la fonction glob. Vous pouvez obtenir la date et l'heure maximales du fichier, c'est-à-dire la dernière image en spécifiant la fonction max et les options.
import glob
import os
import requests
i_path = '/Users/username/Pictures/Photothèque Photo Booth/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)
Grâce à l'API remove.bg, l'automatisation de la suppression d'arrière-plan était très facile à mettre en œuvre. De plus, l'astuce consistant à spécifier le dernier fichier image pouvait être mise en œuvre immédiatement et l'objectif a été atteint. C'est bien de lancer manuellement le travail gênant dans le programme.
Recommended Posts