Maison  >  Article  >  développement back-end  >  Dix lignes de code Python pour remplacer la couleur de fond des photos d'identité

Dix lignes de code Python pour remplacer la couleur de fond des photos d'identité

WBOY
WBOYavant
2023-05-03 14:01:062087parcourir

Dix lignes de code Python pour remplacer la couleur de fond des photos didentité

Cet article vous apprend à changer la couleur d'arrière-plan de votre photo d'identité grâce à un programme Python, afin que vous n'ayez pas à vous soucier de changer l'arrière-plan de votre photo d'identité. Photo d'identité à l'avenir.

Dix lignes de code Python pour remplacer la couleur de fond des photos didentité

Idée :

  • Supprimez d'abord la couleur de fond de l'original photo# 🎜🎜#
  • Ajouter une nouvelle couleur de fond
Les étapes sont très simples, les idées sont claires et l'opération est également très simple Cela peut être fait en. dix lignes de code. Je vous garantis que vous en serez sûr après l'avoir lu !

Dix lignes de code Python pour remplacer la couleur de fond des photos didentité

1 Supprimez la couleur de fond de la photo originale

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

in_path est le chemin de la photo originale, cg_output.jpg est la photo après suppression du fond

Astuce : Pour l'utilisation spécifique de la librairie backgroundremover, vous pouvez vous référer à mon article précédent (une ligne de code Python à supprimer l'arrière-plan de la photo)

2. Ajoutez une nouvelle couleur d'arrière-plan

# 加上背景颜色
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 est le chemin de la photo après avoir remplacé la couleur d'arrière-plan, la couleur est la nouvelle couleur à remplacer, remplissez simplement l'anglais correspondant, comme Red: red

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

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

Étapes générales du code : #🎜🎜 #Remplacer.jpg (photo avec un fond bleu) par une photo avec un fond rouge (couleur) color out.png

Ici, il est rappelé aux lecteurs que la photo de sortie (out.png) doit être enregistrée au format png, d'autres formats tels que jpg entraîneront le rapport d'erreur du programme.

Effet d'échantillon :

Dix lignes de code Python pour remplacer la couleur de fond des photos didentité (réseau source d'image)

La gauche est l'image originale (Bleu), la droite est la photo remplacée

(du bleu au rouge)

Summary

Python remplacement Il n'est pas difficile de changer la couleur d'arrière-plan de la photo d'identité. L'idée est de supprimer d'abord l'arrière-plan, puis d'ajouter une nouvelle couleur d'arrière-plan. Je pense que vous l'avez appris après avoir lu ceci.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer