Spaces:
Sleeping
Sleeping
import cv2 | |
import matplotlib.pyplot as plt | |
import copy | |
import numpy as np | |
import os | |
from src import model | |
from src import util | |
from src.body import Body | |
from src.hand import Hand | |
from PIL import Image | |
from glob import glob | |
from tqdm import tqdm | |
body_estimation = Body('model/body_pose_model.pth') | |
src_dir = '/home/soon/datasets/deepfashion_inshop/img_512/' | |
dst_dir = '/home/soon/datasets/deepfashion_inshop/img_512_padded/' | |
skeleton_dir = '/home/soon/datasets/deepfashion_inshop/openpose_512/' | |
src_files = glob(src_dir+'**/*.jpg', recursive=True) | |
for src_file in tqdm(src_files[:]): | |
src = cv2.imread(src_file) | |
# add padding | |
top = 0 | |
bottom = 0 | |
left = right = 82 | |
dst = cv2.copyMakeBorder(src, top, bottom, left, right, cv2.BORDER_REPLICATE) | |
dst_file = src_file.replace(src_dir, dst_dir) | |
os.makedirs(os.path.split(dst_file)[0], exist_ok=True) | |
cv2.imwrite(dst_file, dst) | |
# plt.imshow(dst[:,:,::-1]) | |
# skeleton | |
candidate, subset = body_estimation(dst) | |
canvas = copy.deepcopy(dst) | |
canvas = util.draw_bodypose(np.zeros_like(canvas), candidate, subset) | |
skeleton = Image.fromarray(canvas) | |
skeleton_file = src_file.replace(src_dir, skeleton_dir) | |
os.makedirs(os.path.split(skeleton_file)[0], exist_ok=True) | |
skeleton.save(skeleton_file) | |