0

I'm new to computer vision and confused about how homography works. I have a homography matrix computed between a camera's point of view and a map which it uses to track people on the floor. If I rotate and translate the camera to a new position (assuming that I know the both the initial and final position), can I derive the new homography (between new camera POV and the map and use it to track people from that changed position) from the initial homography matrix. For the initial calculation, I manually select 4 pairs of points between the camera's point of view and the map and use cv.findHomography() method.

I'm thinking that if I use the same homography (between camera POV and map) for both the cameras, and then translate the predicted point on the map using the camera translations and rotations which I already know, I can get the predicted point correctly according to the new location. Will it work?

fliptrail
  • 46
  • 5
  • homography is a 2d-2d transform. inserting 3D (4x4) transforms in there is a little tricky because you can't just drop/ignore the Z component in everything. you should compose the entire thing as 4x4 matrices first. since the _one_ of the homography's "ends" is actually plane-aligned (z=0), you can lift that into 4x4 using that knowledge. all of this is going to be fairly hairy. build yourself some visualization so you can inspect what's going on using example data, also synthetic data for which you KNOW what your calculations should produce, because you set it all up that way. – Christoph Rackwitz Jun 29 '23 at 08:01

0 Answers0