init
Browse files
app.py
CHANGED
|
@@ -112,6 +112,7 @@ def compress_UUID():
|
|
| 112 |
|
| 113 |
def run(
|
| 114 |
image,
|
|
|
|
| 115 |
model,
|
| 116 |
opt,
|
| 117 |
detector,
|
|
@@ -124,8 +125,10 @@ def run(
|
|
| 124 |
os.makedirs(opt.results_dir, exist_ok=True)
|
| 125 |
|
| 126 |
opt.lm_dir = os.path.join(dataroot, 'landmark/')
|
| 127 |
-
opt.
|
|
|
|
| 128 |
os.makedirs(opt.lm_dir, exist_ok=True)
|
|
|
|
| 129 |
os.makedirs(opt.bg_dir, exist_ok=True)
|
| 130 |
|
| 131 |
shutil.copy(image.name, opt.dataroot)
|
|
@@ -133,6 +136,8 @@ def run(
|
|
| 133 |
fullname = os.path.basename(image.name)
|
| 134 |
name = fullname.split(".")[0]
|
| 135 |
|
|
|
|
|
|
|
| 136 |
imgfile = os.path.join(opt.dataroot, fullname)
|
| 137 |
lmfile = os.path.join(opt.lm_dir, name+'.txt')
|
| 138 |
# 预处理数据
|
|
@@ -140,30 +145,29 @@ def run(
|
|
| 140 |
|
| 141 |
imgs = []
|
| 142 |
for part in ['eyel', 'eyer', 'nose', 'mouth']:
|
| 143 |
-
savepath = os.path.join(opt.
|
| 144 |
get_partmask(imgfile, part, lmfile, savepath)
|
| 145 |
-
imgs.append(savepath)
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
#
|
| 151 |
-
#
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
#
|
| 164 |
print(imgs)
|
| 165 |
|
| 166 |
-
return PIL.Image.open(imgs[0]),PIL.Image.open(imgs[1])
|
| 167 |
|
| 168 |
|
| 169 |
def main():
|
|
@@ -212,6 +216,7 @@ def main():
|
|
| 212 |
func,
|
| 213 |
[
|
| 214 |
gr.inputs.Image(type='file', label='Input Image'),
|
|
|
|
| 215 |
],
|
| 216 |
[
|
| 217 |
gr.outputs.Image(
|
|
|
|
| 112 |
|
| 113 |
def run(
|
| 114 |
image,
|
| 115 |
+
mask,
|
| 116 |
model,
|
| 117 |
opt,
|
| 118 |
detector,
|
|
|
|
| 125 |
os.makedirs(opt.results_dir, exist_ok=True)
|
| 126 |
|
| 127 |
opt.lm_dir = os.path.join(dataroot, 'landmark/')
|
| 128 |
+
opt.cmask_dir = os.path.join(dataroot, 'mask/')
|
| 129 |
+
opt.bg_dir = os.path.join(dataroot, 'mask/bg')
|
| 130 |
os.makedirs(opt.lm_dir, exist_ok=True)
|
| 131 |
+
os.makedirs(opt.cmask_dir, exist_ok=True)
|
| 132 |
os.makedirs(opt.bg_dir, exist_ok=True)
|
| 133 |
|
| 134 |
shutil.copy(image.name, opt.dataroot)
|
|
|
|
| 136 |
fullname = os.path.basename(image.name)
|
| 137 |
name = fullname.split(".")[0]
|
| 138 |
|
| 139 |
+
shutil.copyfile(mask.name, os.path.join(opt.bg_dir, name+'.png'))
|
| 140 |
+
|
| 141 |
imgfile = os.path.join(opt.dataroot, fullname)
|
| 142 |
lmfile = os.path.join(opt.lm_dir, name+'.txt')
|
| 143 |
# 预处理数据
|
|
|
|
| 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, lmfile, savepath)
|
| 150 |
+
#imgs.append(savepath)
|
| 151 |
+
|
| 152 |
+
data_loader = CreateDataLoader(opt)
|
| 153 |
+
dataset = data_loader.load_data()
|
| 154 |
+
|
| 155 |
+
# test
|
| 156 |
+
# model.eval()
|
| 157 |
+
for i, data in enumerate(dataset):
|
| 158 |
+
if i >= opt.how_many: # test code only supports batch_size = 1, how_many means how many test images to run
|
| 159 |
+
break
|
| 160 |
+
model.set_input(data)
|
| 161 |
+
model.test()
|
| 162 |
+
visuals = model.get_current_visuals() # in test the loadSize is set to the same as fineSize
|
| 163 |
+
img_path = model.get_image_paths()
|
| 164 |
+
# if i % 5 == 0:
|
| 165 |
+
# print('processing (%04d)-th image... %s' % (i, img_path))
|
| 166 |
+
imgs = save_images2(opt.results_dir, visuals, img_path, aspect_ratio=opt.aspect_ratio, width=opt.display_winsize)
|
| 167 |
+
|
|
|
|
| 168 |
print(imgs)
|
| 169 |
|
| 170 |
+
return PIL.Image.open(imgs[0]),PIL.Image.open(imgs[1])
|
| 171 |
|
| 172 |
|
| 173 |
def main():
|
|
|
|
| 216 |
func,
|
| 217 |
[
|
| 218 |
gr.inputs.Image(type='file', label='Input Image'),
|
| 219 |
+
gr.inputs.Image(type='file', label='Input Mask'),
|
| 220 |
],
|
| 221 |
[
|
| 222 |
gr.outputs.Image(
|