I have a stereo rig of multiple (4 at the moment) identical cameras.
The software should generate a film for a sequence of intermediate virtual camera points using openCV and QT (Creator).
Before the project can start, it needs to be clear, that the new SemiGlobalMatching function in openCV does work as expected.
(class StereoSGBM).
Therefore the coder should complete the bid request number 1366904 first before we then both decide whether to continue with the full implementation under this bid request.
## Deliverables
This project needs to have a predecessor project completed by the same coder - see brief project description.
I have a multiview stereo rig consisting of n (n=4) digital still cameras numbered 0 to n-1. The cameras are oriented in portrait configuration. The optics lie on a horizontal line. The cameras will deliver their images under a known naming scheme in a separate directory for each camera.
The requested software should generate a ffmpeg compressed avi film from corresponding 4 camera images for a given sequence of virtual camera viewpoints. The sequence list will be specified as a text file to the program and contain real numbers from 0 to n-1 as elements, where e.g 2.1 means an interpolated viewpoint between cameras 2 and 3, where the distance from the viewpoint to camera 2 is 10% of the distance between camera 2 and 3. The files to be processed should be selectable via mouse selection from a thumbnail view - like a windows explorer window. Selecting a file from camera 0 should automatically select the other n-1 files for processing. The avi should be rotated by 90% since the monitor showing the avi will be mounted in portrait orientation like the cameras are.
The program should also have a "calibrate" tab. When it is pressed after selection of some images containing calibration patterns it should do a calibration of intrinsic and extrinsic camera parameters from the images. The calibration parameters should be stored in a second parameter file. They of course will be used to perform the interpolation described in the previous paragraph. Compression settings for ffmpeg should be saveable as well. (like in [login to view URL])
Implementation should be done in the current version of openCV under the current version of QT Creator. Calibration and calculation of the disparity images seems to be quite straightforward using the functionality provided directly within openCV(using semi global matching for disparity). However, the interpolation of intermediate viewpoints should be coded from scratch. Handling of missing information ("holes or ruptures in the disparity map") should be handled.