Hi all,
Recently I started building a bullet time photography rig consisting of 24 cameras that are placed on a 360 circle. I am facing a problem aligning the images, all cameras trigger exactly at the same moment and all pictures are saved on a computer following the scheme 1.jpg, 2.jpg, 3.jpg and so on. ( each digit represent the camera position on the rig ). All cameras are fixed very stable onto position but it is impossible to align them perfectly.
I am trying to figure out a way to align and maybe interpolate some frames in order to make the final animation better. So far my idea was to first shoot a picture with ( let's say ) a red ball in the middle, figure out the position of the red ball inside each picture and build a JSON file ( or any other format ) containing the offsets of the ball inside each picture. After this process I guess I can use that information to further align other photos ( since the cameras are fixed in the same position and do not move ) without any ball in the middle ( using the JSON data from the calibration photo ).
I guess that pictures must be aligned on X Y axis and also we need to align the rotation in case the cameras are not perfectly leveled.
Here's my idea of making it:
Before starting to do the actual shooting I need to calibrate the rig, the steps for this should be: 1. Place a ball or any other shape object suspended in the center of the circle, all cameras pointing at this ball. 2. Take a picture using all cameras 3. The photo from camera 1 will be considered the reference shot 4. Detect the position of the ball inside each picture and build a mapping, I mean: Picture 1: ball is at 320 x 360 px Picture 2: ball is at 325 x 376 px Picture 3: ball is at 321 x 350 px
Since picture 1 is our reference and the ball in this picture is at 320x360px then I know that I have to crop the rest of the pictures so that the ball ends up at the same 320x360px. A better explanation would be that I need to crop and offset the area in relation with the coordinates of the ball in the first picture.
After we calculate the necessary coordinates to crop and offset the pics then we can further use this information to stabilize all the pictures taken with the camera rig with the condition that nothing moves ( structure, cameras, etc... ).
In order to take in account also the rotation in each picture I think I need to use a rectangular object as the reference.
What do you think about this method and what is the simplest method to achieve it ?