Hello, i have 4 digital cams, the distance between every cam is 30 CM, i need a software or a programming library that works on c++ or Java, that can take videos from these 4 cams, and put them in one video showing only one image that is gathered from the 4 cams, any hints would be helpful, Thanks anyway.
Look at Pure Data and GEM. It has some interesting possibilities, although it might be more than you want to bite off.
Java has the Java Media Framework, which gives you some decent tools to work with.
That is a stereo correspondence problem and one way to merge n
different images would be using some kind of local features (SIFT, SURF, FAST etc.) In OpenCV library there's SURF detector already implemented. You would probably need to use C or C++ for real time processing.
I would recommend you OpenCV, which is an Open Source Computer Vision library for C development. Once configured, it's relatively easy to use.
Check out this reference. Take a look at the method cvCaptureFromCAM() detailed in the reference in order to read frames from a video camera.
I recommend that you use the GStreamer framework for this. I have done similar things with it: combining a video stream, a screen recording and a logo into one combined video.
Programming language options are:
- C: using the API directly. It's not too hard. See the documentation.
- Python: bindings to the C API
- gst-launch: a declarative language for quickly setting up a pipeline. Hint: It rocks!
- Vala: scripting language with C# syntax. It never used it so I can't say it it's any good.
Also check out my answer to this question: How can I tile videos/create a video montage?