def generate_mask_image(self): from lib.utils.draw_utils import img_pts_to_pts_img for k in range(0, self.image_num): img_pts = Projector.project_K(self.printer_model_pts.copy(), self.poses[k], self.K['cat']) pts_img = img_pts_to_pts_img(img_pts, 484, 648) imsave(self.mask_pattern.format(k + 1), pts_img.astype(np.uint8))
def validate_original_poses(self): for k in range(0,self.image_num,20): rgb=imread(self.image_pattern.format(k+1)) img_pts=Projector.project_K(self.printer_model_pts.copy(), self.poses[k], self.K['cat']) pts_img=img_pts_to_pts_img(img_pts,484,648) print(self.poses[k]) rgb[pts_img>0]//=2 rgb[pts_img>0]+=np.asarray([127,0,0],np.uint8) plt.imshow(rgb) plt.show()
def validate_aligned_poses(self): aligner=ModelAligner() for k in range(0,self.image_num,20): rgb=imread(self.image_pattern.format(k+1)) pose_aligned=aligner.pose_p2w(self.poses[k]) img_pts=Projector.project_K(self.model_pts.copy(), pose_aligned, self.K['cat']) pts_img=img_pts_to_pts_img(img_pts,484,648) rgb[pts_img>0]//=2 rgb[pts_img>0]+=np.asarray([127,0,0],np.uint8) plt.imshow(rgb) plt.show()