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,
|