I have two camera images taken from a camera mounted over a vehicle at time $t$ and $t+1$. I need to estimate the scaling and translation in the images in spatial domain itself so that information from two images can be fused to get a better image. I have camera calibration parameters, vehicle dynamics parameters for the calculation.

Is it possible to estimate scaling efficiently? For translation I have used cross-correlation peak based approach, although it is not correct all the times.


I feel there is no the best method to solve this, but if you do not have some specific feature point to track, I suggest using optical flow a below:

  1. compute optical flow of two frames,
  2. find the dominate global optical vector, may be through computing average or median of optical vectors (you do not want small noisy motions)
  3. Select at least 2 vectors parallel and similar to the global vector and fit a rotation*scale transformation matrix.

In case you have some feature points, instead of computing optical flow for all pixels simply use sparse optical flow OpenCV tutorial on Optical flow

This link might also be helpful.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.