from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import cv2
#二值化mask
im5 = Image.open("IMG_1974.png")
im5 = np.array(im5.convert('L'))
im5 = np.where(im5[..., :] <=0, 0, 255) # 根据设置的阈值来进行黑白分类
im5 =Image.fromarray(im5)
# plt.axis("off")
# plt.imshow(im5, cmap='gray')
# plt.show()
#前景分割
im1_path = 'IMG_1974.JPG'
img1 = cv2.imread(im1_path)
img2 = im5
h,w,c = img1.shape
img3 = np.zeros((h,w,4))
img3[:,:,0:3] = img1
img3[:,:,3] = img2
#这里命名随意,但是要注意使用png格式
cv2.imwrite('9.png' ,img3)
【二值化mask+前景分割】代码实现
于 2022-10-08 09:49:22 首次发布