小編給大家分享一下如何使用python對證件照進行背景換色,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
先上效果
1、尺寸長寬調整為:295x413
2、背景色調為藍底 和 紅底各一張
3、還要一張透明背景的證件照。
原圖↓↓↓

一頓操作,效果如下↓↓↓

環境準備
此處,我們需要用到兩個python模塊:pillow和removebg
pillow模塊:用于調整照片的像素大小。
removebg模塊:用于摳圖,調整背景。
#安裝python模塊 pip install pillow pip install removebg

證件照尺寸調整
先來調整尺寸吧,調好了,再來調整背景顏色。
詩詩小姐姐說,她考試要求的照片尺寸:295x413
from PIL import Image
old_img = 'C:/Users/lex/desktop/img/詩詩.png'
new_img = 'C:/Users/lex/desktop/img/詩詩-new.png'
img = Image.open(old_img)
#讀取照片尺寸
(x,y) = img.size
#重新設置照片尺寸
x_s = 295 #寬
y_s = 413 #高
out = img.resize((x_s,y_s),Image.ANTIALIAS) #resize image with high-quality
out.save(new_img)
print ('原始照片尺寸(寬x高): ',x,"x",y)
print ('調整后照片尺寸:(寬x高) ',x_s,"x",y_s)照片尺寸調好了
如下圖 ↓↓↓

證件照背景調整
1、通過removebg模塊的方法,我們可以把人像摳圖出來。
2、我們通過顏色背景來定義三個背景顏色
BACKGROUND_COLOR = {
'RED': (255, 0, 0, 255),
'BLUE': (67, 142, 219, 255),
'WHITE': (255, 255, 255, 255)
}3、將摳出來的無背景的圖片 粘貼到我們自己畫的背景板上
#老照片路徑、新照片路徑、無背景照片路徑、顏色
def get_img_bg(old_img_path,new_img_path,no_bg_img_path,color):
#去掉背景圖,提取照片
rmbg.remove_background_from_img_file(old_img_path)
foreground = Image.open(no_bg_img_path)
background = Image.new('RGBA', foreground.size, BACKGROUND_COLOR[color]) # 背景圖,大小同前景圖
background.paste(foreground, mask=foreground)
background.save(new_img_path)
if __name__ == '__main__':
get_img_bg('C:/Users/pacer/Desktop/img/詩詩.png','C:/Users/pacer/desktop/img/詩詩_red.png','C:/Users/pacer/desktop/img/詩詩.png_no_bg.png','RED')
get_img_bg('C:/Users/pacer/Desktop/img/詩詩.png','C:/Users/pacer/desktop/img/詩詩_blue.png','C:/Users/pacer/desktop/img/詩詩.png_no_bg.png','BLUE')代碼一頓執行,所有照片都拿到了
各種背景顏色圖片
原圖、透明背景、藍色背景、紅色背景圖片全部生成。

以上是“如何使用python對證件照進行背景換色”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。