本文实例为大家分享了python3实现证件照背景替换的具体代码,供大家参考,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import cv2
import numpy as np
img = cv2.imread( 'zjz.jpg' )
#缩放
rows,cols,channels = img.shape
img = cv2.resize(img, None ,fx = 0.5 ,fy = 0.5 )
rows,cols,channels = img.shape
cv2.imshow( 'img' ,img)
#转换hsv
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
lower_blue = np.array([ 78 , 43 , 46 ])
upper_blue = np.array([ 110 , 255 , 255 ])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
cv2.imshow( 'Mask' , mask)
#腐蚀膨胀
erode = cv2.erode(mask, None ,iterations = 1 )
cv2.imshow( 'erode' ,erode)
dilate = cv2.dilate(erode, None ,iterations = 1 )
cv2.imshow( 'dilate' ,dilate)
#遍历替换
for i in range (rows):
for j in range (cols):
if dilate[i,j] = = 255 :
img[i,j] = ( 0 , 0 , 255 ) #此处替换颜色,为BGR通道
cv2.imshow( 'res' ,img)
cv2.waitKey( 0 )
cv2.destroyAllWindows()
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。