# Estimating scaling and translation between two consecutive temporal images

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