From 496bb7fe55905274ca962217fa6f53783647605d Mon Sep 17 00:00:00 2001 From: jiegeaiai Date: Tue, 26 Nov 2024 06:14:03 +0800 Subject: [PATCH] modify render --- ui/pygame_ui.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/ui/pygame_ui.py b/ui/pygame_ui.py index 96871e4..5f46ea8 100644 --- a/ui/pygame_ui.py +++ b/ui/pygame_ui.py @@ -24,7 +24,7 @@ def cal_box(inv_m, p): def img_warp_back_inv_m(img, img_to, inv_m): - h_up, w_up, c = img.shape + # h_up, w_up, c = img_to.shape # mask = np.ones_like(img).astype(np.float32) # inv_mask = cv2.warpAffine(mask, inv_m, (w_up, h_up)) # inv_img = cv2.warpAffine(img, inv_m, (w_up, h_up)) @@ -33,10 +33,13 @@ def img_warp_back_inv_m(img, img_to, inv_m): # img_to[:, :, :3][mask_indices] = inv_img[mask_indices] # else: # img_to[inv_mask == 1] = inv_img[inv_mask == 1] + # cv2.imwrite('./full.png', img_to) # return img_to - cv2.imwrite('./face.png', img) - tx = inv_m[0][2] - ty = inv_m[1][2] + h_up, w_up, _ = img.shape + _, _, c = img_to.shape + # cv2.imwrite('./face.png', img) + tx = int(inv_m[0][2]) + ty = int(inv_m[1][2]) inv_m[0][2] = 0 inv_m[1][2] = 0 @@ -51,21 +54,21 @@ def img_warp_back_inv_m(img, img_to, inv_m): w_up = int(rp[0] - lp[0]) h_up = int(rp[1] - lp[1]) - print(f'src_x:{w_up}, src_y:{h_up}') + # print(f'src_x:{w_up}, src_y:{h_up}') inv_m[0][2] = 0 - inv_m[1][2] = 0 + inv_m[1][2] = abs(lp[1]) mask = np.ones_like(img, dtype=np.float32) inv_mask = cv2.warpAffine(mask, inv_m, (w_up, h_up)) inv_img = cv2.warpAffine(img, inv_m, (w_up, h_up)) - cv2.imwrite('./combine_frame.png', inv_img[inv_mask == 1]) - cv2.imwrite('./combine_frame-1.png', img_to) if c == 4: # img_to[30:h, 30:w][:, :, :3] = img - img_to[:, :, :3][inv_mask == 1] = inv_img[inv_mask == 1] + img_to[ty:(h_up + ty), tx:(w_up + tx)][:, :, :3][inv_mask == 1] = inv_img[inv_mask == 1] else: img_to[inv_mask == 1] = inv_img[inv_mask == 1] + + # cv2.imwrite('./full1.png', img_to) return img_to @@ -126,7 +129,7 @@ class PyGameUI: self.screen_.blit(self.background_display_, (0, 0)) self._update_human() if self._human_image is not None: - self.screen_.blit(self._human_image, (760, -300)) + self.screen_.blit(self._human_image, (0, -300)) fps = self.clock.get_fps() pygame.display.set_caption('fps:{:.2f}'.format(fps))