生活随笔
收集整理的這篇文章主要介紹了
换证件照背景
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
證件照換背景
分割出背景區域的掩膜(將圖像轉成hsv格式,通過cv2.inrange()選出特定顏色區域的背景)
背景區域的掩膜:背景是白色,頭像部分是黑色的對背景區域的掩膜取反,得到反掩膜(外黑里白)畫出與證件照相同大小的背景新背景:新背景與掩膜按位與分割頭像區域。反掩膜與原圖按位與目標證件照:新背景與頭像區域按位或。
參考
cv2.inrange(hsv,lower_range,upper_range)
將像素值為lower_range,upper_range之間的像素點置為255,其余的置為0.
參數有三個
第一個參數:hsv指的是原圖
第二個參數:lower_range指的是圖像中低于這個lower_range的值,圖像值變為0
第三個參數:upper_range指的是圖像中高于這個upper_range的值,圖像值變為0
'''
證件照換背景
'''
import cv2
import numpy
as np
img
= cv2
.imread
(r
'../temp/shu.jpg')
hsv
= cv2
.cvtColor
(img
,cv2
.COLOR_BGR2HSV
)
h
,s
,v
= cv2
.split
(hsv
)
LowerBlue
= np
.array
([20, 120, 100])
UpperBlue
= np
.array
([130, 255, 200])
mask
= cv2
.inRange
(hsv
, LowerBlue
, UpperBlue
)
mask_not
= cv2
.bitwise_not
(mask
)
print(img
.shape
)
blank
= np
.zeros
(img
.shape
,dtype
= np
.uint8
)
color
= (218,143,3)
background
= cv2
.rectangle
(blank
,(0,0),(425,602),color
= color
,thickness
=-1)
background
= cv2
.bitwise_and
(background
,background
,mask
=mask
)
head
= cv2
.bitwise_and
(img
,img
,mask
=mask_not
)
combination
= cv2
.bitwise_or
(background
,head
)
cv2
.imwrite
('./shu.jpeg',combination
)
總結
以上是生活随笔為你收集整理的换证件照背景的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。