-> First convert the video into frames using ffmpeg.
-> Frames are splitted so that load can be distributed.
Files to be used in order.
-
image_store.m -> This file stores the features and image of all the frames.
-
find_transform.m -> This file finds out the transform between each consecutive frames.
-
merge.m -> This file is used to merge all the transforms found using distributed frames. -> From here we have only 1 mat file.
-
ncum_transform.m -> This file converts our discrete transform between consecutive frames to cummulative movement of camera.
-
optimize.m -> This file optimize x,y and theta parameter.
-
plotting_cum.m -> Debugging file to check the optimized path and the orignal camera path.
-
nnew_transform.m -> This file finds the transform needed to convert our original camera path to optimized camera path.
-
smooth_transform.m -> This file is used to convert all the frames to get new optimized frames.
-
crop_image.m -> This file crops the center 80% of the original frame. -> We can change the value of p to change the size of cropped image.
-
check.m -> This file is used to save all the image frames.
-> Using ffmpeg once again we can generate the video of this new optimized frame.