init
Browse files- APDrawingGAN2/preprocess/get_partmask.py +17 -2
- app.py +4 -3
APDrawingGAN2/preprocess/get_partmask.py
CHANGED
@@ -51,19 +51,34 @@ def shape_to_np(shape, dtype="int"):
|
|
51 |
# return the list of (x, y)-coordinates
|
52 |
return coords
|
53 |
|
54 |
-
def get_68lm(imgfile,
|
55 |
image = cv2.imread(imgfile)
|
56 |
rgbImg = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
|
57 |
rects = detector(rgbImg, 1)
|
58 |
for (i, rect) in enumerate(rects):
|
59 |
landmarks = predictor(rgbImg, rect)
|
60 |
landmarks = shape_to_np(landmarks)
|
61 |
-
f = open(
|
62 |
for i in range(len(landmarks)):
|
63 |
lm = landmarks[i]
|
64 |
print(lm[0], lm[1], file=f)
|
65 |
f.close()
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
def get_partmask(imgfile,part,lmpath,savefile):
|
68 |
img = cv2.imread(imgfile)
|
69 |
mask = np.zeros(img.shape, np.uint8)
|
|
|
51 |
# return the list of (x, y)-coordinates
|
52 |
return coords
|
53 |
|
54 |
+
def get_68lm(imgfile,savepath5,savepath68, detector, predictor):
|
55 |
image = cv2.imread(imgfile)
|
56 |
rgbImg = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
|
57 |
rects = detector(rgbImg, 1)
|
58 |
for (i, rect) in enumerate(rects):
|
59 |
landmarks = predictor(rgbImg, rect)
|
60 |
landmarks = shape_to_np(landmarks)
|
61 |
+
f = open(savepath68,'w')
|
62 |
for i in range(len(landmarks)):
|
63 |
lm = landmarks[i]
|
64 |
print(lm[0], lm[1], file=f)
|
65 |
f.close()
|
66 |
|
67 |
+
ff = open(savepath5, 'w')
|
68 |
+
|
69 |
+
lm = landmarks[36]
|
70 |
+
print(lm[0], lm[1], file=ff)
|
71 |
+
lm = landmarks[45]
|
72 |
+
print(lm[0], lm[1], file=ff)
|
73 |
+
lm = landmarks[30]
|
74 |
+
print(lm[0], lm[1], file=ff)
|
75 |
+
lm = landmarks[48]
|
76 |
+
print(lm[0], lm[1], file=ff)
|
77 |
+
lm = landmarks[54]
|
78 |
+
print(lm[0], lm[1], file=ff)
|
79 |
+
|
80 |
+
ff.close()
|
81 |
+
|
82 |
def get_partmask(imgfile,part,lmpath,savefile):
|
83 |
img = cv2.imread(imgfile)
|
84 |
mask = np.zeros(img.shape, np.uint8)
|
app.py
CHANGED
@@ -139,14 +139,15 @@ def run(
|
|
139 |
shutil.copyfile(mask.name, os.path.join(opt.bg_dir, name+'.png'))
|
140 |
|
141 |
imgfile = os.path.join(opt.dataroot, fullname)
|
142 |
-
|
|
|
143 |
# 预处理数据
|
144 |
-
get_68lm(imgfile,
|
145 |
|
146 |
imgs = []
|
147 |
for part in ['eyel', 'eyer', 'nose', 'mouth']:
|
148 |
savepath = os.path.join(opt.cmask_dir + part, name+'.png')
|
149 |
-
get_partmask(imgfile, part,
|
150 |
#imgs.append(savepath)
|
151 |
|
152 |
data_loader = CreateDataLoader(opt)
|
|
|
139 |
shutil.copyfile(mask.name, os.path.join(opt.bg_dir, name+'.png'))
|
140 |
|
141 |
imgfile = os.path.join(opt.dataroot, fullname)
|
142 |
+
lmfile5 = os.path.join(opt.lm_dir, name+'.txt')
|
143 |
+
lmfile68 = os.path.join(opt.lm_dir, name + '_68.txt')
|
144 |
# 预处理数据
|
145 |
+
get_68lm(imgfile, lmfile5, lmfile68, detector, predictor)
|
146 |
|
147 |
imgs = []
|
148 |
for part in ['eyel', 'eyer', 'nose', 'mouth']:
|
149 |
savepath = os.path.join(opt.cmask_dir + part, name+'.png')
|
150 |
+
get_partmask(imgfile, part, lmfile68, savepath)
|
151 |
#imgs.append(savepath)
|
152 |
|
153 |
data_loader = CreateDataLoader(opt)
|