|
@@ -22,18 +22,24 @@ class StandingPhotoAnalyzer(BasePhotoAnalyzer):
|
|
|
assert len(self.args) == 2, "Invalid arguments: expect 2 photo uuids."
|
|
assert len(self.args) == 2, "Invalid arguments: expect 2 photo uuids."
|
|
|
self.args = args
|
|
self.args = args
|
|
|
|
|
|
|
|
- def analyze(self):
|
|
|
|
|
- for i in self.args:
|
|
|
|
|
- test_image = UPLOAD_DIR + '{}.jpg'.format(i)
|
|
|
|
|
|
|
+ def analyze(self, callback: function) -> None:
|
|
|
|
|
+ callback("RUNNING")
|
|
|
|
|
+ try:
|
|
|
|
|
+ for i in self.args:
|
|
|
|
|
+ test_image = UPLOAD_DIR + '{}.jpg'.format(i)
|
|
|
|
|
|
|
|
- ori_img = cv2.imread(test_image) # B,G,R order
|
|
|
|
|
|
|
+ ori_img = cv2.imread(test_image) # B,G,R order
|
|
|
|
|
|
|
|
- tp = torch_openpose('body_25')
|
|
|
|
|
- poses = tp(ori_img)
|
|
|
|
|
|
|
+ tp = torch_openpose('body_25')
|
|
|
|
|
+ poses = tp(ori_img)
|
|
|
|
|
|
|
|
- np.save(UPLOAD_DIR + '{}.npy'.format(i), poses)
|
|
|
|
|
|
|
+ np.save(UPLOAD_DIR + '{}.npy'.format(i), poses)
|
|
|
|
|
|
|
|
- canvas = copy.deepcopy(ori_img)
|
|
|
|
|
- canvas = src1.util.draw_bodypose(canvas, poses, 'body_25')
|
|
|
|
|
|
|
+ canvas = copy.deepcopy(ori_img)
|
|
|
|
|
+ canvas = src1.util.draw_bodypose(canvas, poses, 'body_25')
|
|
|
|
|
|
|
|
- cv2.imwrite(UPLOAD_DIR + '{}-result.jpg'.format(i), canvas)
|
|
|
|
|
|
|
+ cv2.imwrite(UPLOAD_DIR + '{}-result.jpg'.format(i), canvas)
|
|
|
|
|
+ callback("FINISH", result={"photos": {}, "text": {}})
|
|
|
|
|
+ except Exception as e:
|
|
|
|
|
+ callback("ERROR", error=e)
|
|
|
|
|
+ raise e
|