init
Browse files
app.py
CHANGED
@@ -118,13 +118,13 @@ def compress_UUID():
|
|
118 |
|
119 |
def run(
|
120 |
image,
|
121 |
-
|
122 |
model,
|
123 |
opt,
|
124 |
detector,
|
125 |
predictor,
|
126 |
modnet : ModNet,
|
127 |
-
) -> tuple[PIL.Image.Image
|
128 |
|
129 |
dataroot = 'images/' + compress_UUID()
|
130 |
opt.dataroot = os.path.join(dataroot, 'src/')
|
@@ -151,8 +151,26 @@ def run(
|
|
151 |
imgfile = os.path.join(opt.dataroot, fullname)
|
152 |
lmfile5 = os.path.join(opt.lm_dir, name+'.txt')
|
153 |
lmfile68 = os.path.join(opt.lm_dir, name + '_68.txt')
|
|
|
154 |
# 预处理数据
|
155 |
-
get_68lm(imgfile, lmfile5, lmfile68, detector, predictor)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
|
157 |
imgs = []
|
158 |
for part in ['eyel', 'eyer', 'nose', 'mouth']:
|
@@ -178,7 +196,7 @@ def run(
|
|
178 |
|
179 |
print(imgs)
|
180 |
|
181 |
-
return PIL.Image.open(imgs[
|
182 |
|
183 |
|
184 |
def main():
|
@@ -218,16 +236,12 @@ def main():
|
|
218 |
func,
|
219 |
[
|
220 |
gr.inputs.Image(type='file', label='Input Image'),
|
221 |
-
gr.inputs.
|
222 |
],
|
223 |
[
|
224 |
gr.outputs.Image(
|
225 |
type='pil',
|
226 |
label='Result'),
|
227 |
-
gr.outputs.Image(
|
228 |
-
type='pil',
|
229 |
-
label='Result'),
|
230 |
-
|
231 |
],
|
232 |
# examples=examples,
|
233 |
theme=args.theme,
|
|
|
118 |
|
119 |
def run(
|
120 |
image,
|
121 |
+
landmarks_str : str,
|
122 |
model,
|
123 |
opt,
|
124 |
detector,
|
125 |
predictor,
|
126 |
modnet : ModNet,
|
127 |
+
) -> tuple[PIL.Image.Image]:
|
128 |
|
129 |
dataroot = 'images/' + compress_UUID()
|
130 |
opt.dataroot = os.path.join(dataroot, 'src/')
|
|
|
151 |
imgfile = os.path.join(opt.dataroot, fullname)
|
152 |
lmfile5 = os.path.join(opt.lm_dir, name+'.txt')
|
153 |
lmfile68 = os.path.join(opt.lm_dir, name + '_68.txt')
|
154 |
+
|
155 |
# 预处理数据
|
156 |
+
# get_68lm(imgfile, lmfile5, lmfile68, detector, predictor)
|
157 |
+
f = open(savepath68, 'w')
|
158 |
+
print(landmarks_str, file=f)
|
159 |
+
f.close()
|
160 |
+
landmarks = np.loadtxt(savepath68)
|
161 |
+
|
162 |
+
ff = open(lmfile5, 'w')
|
163 |
+
lm = (landmarks[36] + landmarks[39]) / 2
|
164 |
+
print(int(lm[0]), int(lm[1]), file=ff)
|
165 |
+
lm = (landmarks[45] + landmarks[42]) / 2
|
166 |
+
print(int(lm[0]), int(lm[1]), file=ff)
|
167 |
+
lm = landmarks[30]
|
168 |
+
print(lm[0], lm[1], file=ff)
|
169 |
+
lm = landmarks[48]
|
170 |
+
print(lm[0], lm[1], file=ff)
|
171 |
+
lm = landmarks[54]
|
172 |
+
print(lm[0], lm[1], file=ff)
|
173 |
+
ff.close()
|
174 |
|
175 |
imgs = []
|
176 |
for part in ['eyel', 'eyer', 'nose', 'mouth']:
|
|
|
196 |
|
197 |
print(imgs)
|
198 |
|
199 |
+
return PIL.Image.open(imgs[1])
|
200 |
|
201 |
|
202 |
def main():
|
|
|
236 |
func,
|
237 |
[
|
238 |
gr.inputs.Image(type='file', label='Input Image'),
|
239 |
+
gr.inputs.Textbox(lines=1, label="Landmarks"),
|
240 |
],
|
241 |
[
|
242 |
gr.outputs.Image(
|
243 |
type='pil',
|
244 |
label='Result'),
|
|
|
|
|
|
|
|
|
245 |
],
|
246 |
# examples=examples,
|
247 |
theme=args.theme,
|