Hello,
I actually want to ask the way computing the trajectory of visual odometry. I have been searching for an official example of visual odometry but didn’t get it. Finally, I found in an independent repository at Git (OpenCV-RgbdOdometry/main.cpp at master · tzutalin/OpenCV-RgbdOdometry · GitHub) that the trajectory is computed and updated respectively via
t_{old}= t_{new},
R_{old} = R_{new}
and
t_{old} = R_{old} * t_{new} + t_{old},
R_{old} = R_{old} * R_{new}.
I don’t understand this well and have a question that why not compute it this way.
Suppose the initial pose is R_{old} = 0_{3 \times 3} and t_{old} = [0, 0, 0]^T. Then the trajectory is updated via
t_{old} = R_{new}*t_{old} + t_{new},
R_{old} = R_{new}.
BTW, please share the url if there is an official example.
from docs :
Method to compute a transformation from the source frame to the destination one.
so, this is a incremental transformation matrix,
and updating the transformation state matrix by multiplying is correct.
to reassure you, the sample does the same: