fix FaceAnimator.py

This commit is contained in:
iperov 2022-05-13 21:22:32 +04:00
commit 878c14756b

View file

@ -103,21 +103,24 @@ class FaceAnimatorWorker(BackendWorker):
def on_cs_animatable(self, idx, animatable): def on_cs_animatable(self, idx, animatable):
state, cs = self.get_state(), self.get_control_sheet() state, cs = self.get_state(), self.get_control_sheet()
try: state.animatable = animatable
W,H = self.tpsmm_model.get_input_size() self.animatable_img = None
self.animatable_kp = None
self.driving_ref_kp = None
ip = ImageProcessor(lib_cv2.imread(self.animatables_path / animatable)) if animatable is not None:
ip.fit_in(TW=W, TH=H, pad_to_target=True, allow_upscale=True) try:
W,H = self.tpsmm_model.get_input_size()
ip = ImageProcessor(lib_cv2.imread(self.animatables_path / animatable))
ip.fit_in(TW=W, TH=H, pad_to_target=True, allow_upscale=True)
self.animatable_img = ip.get_image('HWC') animatable_img = ip.get_image('HWC')
self.animatable_kp = self.tpsmm_model.extract_kp(self.animatable_img) animatable_kp = self.tpsmm_model.extract_kp(animatable_img)
self.driving_ref_kp = None
state.animatable = animatable self.animatable_img = animatable_img
except Exception as e: self.animatable_kp = animatable_kp
print(e) except Exception as e:
self.animatable_img = None cs.animatable.unselect()
cs.animatable.unselect()
self.save_state() self.save_state()
self.reemit_frame_signal.send() self.reemit_frame_signal.send()