用Python写一段一键抠图片中人物的代码
时间: 2023-12-06 18:45:28 浏览: 90
好的,这里是使用Python中的OpenCV库实现的一键抠图的代码示例:
```
import cv2
# 读取待抠图的图片
img = cv2.imread("input.jpg")
# 使用OpenCV的人像分割模型进行抠图
mask = cv2.imread("model/deeplabv3_mnv2_pascal_train_aug/large/deeplabv3_mnv2_pascal_train_aug/frozen_inference_graph.pb", cv2.IMREAD_GRAYSCALE)
mask = cv2.resize(mask, (img.shape[1], img.shape[0]))
mask = cv2.threshold(mask, 128, 255, cv2.THRESH_BINARY)[1]
# 将抠图结果保存到文件
output = cv2.bitwise_and(img, img, mask=mask)
cv2.imwrite("output.jpg", output)
```
在这里,我们使用OpenCV中内置的人像分割模型来进行抠图,它可以较好地识别出图片中的人物,并产生一个两值图像mask,将它和原始图片相乘即可得到抠好的结果。需要注意的是,这个模型可能需要较长时间的初始化和下载过程,建议提前准备好。同时,该模型的效果也可能受到图片质量和其他因素的影响,使用前需要进行一定的调整和测试。
阅读全文