首頁 > 後端開發 > Python教學 > 十行Python程式碼替換證件照背景顏色

十行Python程式碼替換證件照背景顏色

WBOY
發布: 2023-05-03 14:01:06
轉載
2148 人瀏覽過

十行Python程式碼替換證件照背景顏色

本文教大家透過Python程式替換證件照背景顏色,以後更換證件照背景就不會再苦惱了。

十行Python程式碼替換證件照背景顏色

想法:

  • 先去掉原照片的背景色彩
  • 再添上新的背景顏色

步驟很簡單,思緒清晰,操作起來也很簡單,十行程式碼就可以搞定,保證看完你一定會!

十行Python程式碼替換證件照背景顏色

1.去掉原圖背景顏色

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

in_path是原照片的路徑、cg_output.jpg是去掉背景後的照片

提示:backgroundremover這個庫的具體使用可以參考我之前的這篇文章(一行Python程式碼去除照片背景)

2.新增背景顏色

# 加上背景颜色
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是替換背景顏色後的照片路徑,color是要替換的新顏色,填上對應的英文即可,例如紅色:red

color = "red"
# 红:red、蓝:blue、黑:black、白:white
登入後複製

完整程式碼

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)
登入後複製

程式碼大體步驟:

將replace.jpg(藍色背景的照片),換成紅色(color)的背景顏色的照片out.png

這裡提醒讀者,輸出的照片(out.png)要儲存成png的格式,其他格式如jpg程式會報錯。

範例效果:

十行Python程式碼替換證件照背景顏色

(圖片來源網路)

左邊是原圖(藍色),右邊是替換的照片

(藍色換成紅)

總結

Python替換證件照背景顏色不難,想法就是先去掉背景,再添上新的背景顏色,相信看到這裡的你已經學會了。

以上是十行Python程式碼替換證件照背景顏色的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板