Python利用paddlehub实现批量抠图和更换证件照背景底色,图片使用卓别林的个人肖像,代码来源抠图功能实现的博客。代码做了一些更改已实现蓝底背景功能,并实现边界框图提取。
import os
from tkinter import Image
import paddlehub as hub
import numpy as np
import cv2
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
# 获取需要抠图的图像文件地址
# 图像文件目录地址
path = r"D:\\demo_works\\Python\\0827\\picture1\\"
# 遍历获取每张图像的地址
files = [path + i for i in os.listdir(path)]
# 显示所有原图像
# 保存图像数据列表
img = []
# 创建画布 定义大小
plt.figure(figsize=(8, 6))
# 遍历获取每张图像数据
for i, img_fine in enumerate(files):
# 通过opencv获取图像数据并添加到列表
img.append(cv2.imread(img_fine))
# 由于opencv打开的图像格式为BGR 所以需要转换为RGB格式
img[i] = cv2.cvtColor(img[i], cv2.COLOR_BGR2RGB)
# 显示图像大小
# print(img[i].shape)
# 创建子视图
#plt.subplot(2, len(files), i + 1)
# 显示图像
#plt.imshow(img[i])
#plt.title("原图")
# 调用飞浆的deeplabv3p_xception65_human

本文介绍如何使用PaddleHub中的deeplabv3p_xception65_humanseg模型进行批量图片抠图及背景替换。通过Python代码实现了对指定目录下所有图片的人像抠取,并将背景替换为蓝色,同时展示了如何保存处理后的图片。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



