hylee commited on
Commit
112ec0b
·
1 Parent(s): 3cb90c3
Files changed (1) hide show
  1. app.py +27 -22
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.bg_dir = os.path.join(dataroot, 'mask/')
 
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.bg_dir + part, name+'.png')
144
  get_partmask(imgfile, part, lmfile, savepath)
145
- imgs.append(savepath)
146
-
147
- # data_loader = CreateDataLoader(opt)
148
- # dataset = data_loader.load_data()
149
- #
150
- # imgs = [image.name]
151
- # # test
152
- # # model.eval()
153
- # for i, data in enumerate(dataset):
154
- # if i >= opt.how_many: # test code only supports batch_size = 1, how_many means how many test images to run
155
- # break
156
- # model.set_input(data)
157
- # model.test()
158
- # visuals = model.get_current_visuals() # in test the loadSize is set to the same as fineSize
159
- # img_path = model.get_image_paths()
160
- # # if i % 5 == 0:
161
- # # print('processing (%04d)-th image... %s' % (i, img_path))
162
- # imgs = save_images2(opt.results_dir, visuals, img_path, aspect_ratio=opt.aspect_ratio, width=opt.display_winsize)
163
- #
164
  print(imgs)
165
 
166
- return PIL.Image.open(imgs[0]),PIL.Image.open(imgs[1]),PIL.Image.open(imgs[2]),PIL.Image.open(imgs[3])
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(