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")