Spaces:
Running
Running
File size: 1,229 Bytes
8a6df40 02de75f 8a6df40 02de75f 8a6df40 02de75f |
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import cv2
from PIL import Image
import pickle
import json
import numpy as np
colormap = {
2 : [20, 80, 194],
3 : [4, 98, 224],
4 : [8, 110, 221],
9 : [6, 166, 198],
10 : [22, 173, 184],
15 : [145, 191, 116],
16 : [170, 190, 105],
17 : [191, 188, 97],
18 : [216, 187, 87],
19 : [228, 191, 74],
20 : [240, 198, 60],
21 : [252, 205, 47],
22 : [250, 220, 36],
23 : [251, 235, 25],
24 : [248, 251, 14],
}
img = Image.open('TryYours-Virtual-Try-On/origin.jpg')
img_w ,img_h = img.size
with open('TryYours-Virtual-Try-On/data.json', 'r') as f:
json_data = json.load(f)
i = np.array(json_data[0])
seg_img=np.zeros((i.shape[0],i.shape[1],3))
for y_idx in range(i.shape[0]):
for x_idx in range(i.shape[1]):
if i[y_idx][x_idx] in colormap:
seg_img[y_idx][x_idx] = colormap[i[y_idx][x_idx]]
else:
seg_img[y_idx][x_idx] = [0, 0, 0]
box = json_data[2]
box[2]=box[2]-box[0]
box[3]=box[3]-box[1]
x,y,w,h=[int(v) for v in box]
bg=np.zeros((img_h,img_w,3))
bg[y:y+h,x:x+w,:] = seg_img
bg_img = Image.fromarray(np.uint8(bg),"RGB")
bg_img.save("TryYours-Virtual-Try-On/HR-VITON-main/test/test/image-densepose/00001_00.jpg") |