def retroprojectsubject(camera, subject): ih = camera.inverse_homography sb = subject.h_base st = subject.h_top uvb = np.array([[sb[0]], [sb[1]], [1]]) uvt = np.array([[st[0]], [st[1]], [1]]) db = ih.dot(uvb) dt = ih.dot(uvt) db = db / db[2] dt = dt / dt[2] subject.setretroprojection(db, dt)
def __gethomography(self): r = self.rotation t = self.translation h = np.array([[r[0, 0], r[0, 1], t[0]], [r[1, 0], r[1, 1], t[1]], [r[2, 0], r[2, 1], t[2]]]) self.homography = h / t[2] self.inverse_homography = np.linalg.inv(self.homography)
def __gethomography(self): r = self.rotation t = self.translation h = np.array([ [r[0, 0], r[0, 1], t[0]], [r[1, 0], r[1, 1], t[1]], [r[2, 0], r[2, 1], t[2]] ]) self.homography = h / t[2] self.inverse_homography = np.linalg.inv(self.homography)