I would like to make a program that would offer tethered operation for a digital video/still camera (consumer cameras other than DSLR), so that you could plug the camera into a computer (USB or other) and use it's functions (take photo, record video, zoom, focus, etc.). The intended platform for now is Linux.
As far as I know, no manufacturers offer an SDK for their products, except a few who do (Canon, Olympus, Nikon), but only for their DSLRs.
I'm not new to c++ but I haven't worked on many projects with it. However, I am completely new to OpenCV, and I do not yet know the capabilities of this library. To test the opencv build and my configuration I've made a simple app which just takes the stream from the webcam and displays it on a form. (using cvCreateCameraCapture)
Would this work with a digital camera or camcorder? I'm guessing they would have to have a "webcam mode" available, but that's not so common (at least not in camcorders). How about firewire or are there any other HD capable connectors? Would they be recognizable by OpenCV? I would like to stay away from HDMI and capturing devices if possible (extra cost).
So i guess my question is, if anyone had any experience with a project like this: what would be the preferred camera specifications for such usage (what features)? And are there any libraries available to ease my troubles :)
I'm looking into libgphoto2 as well. And if need be I would try something like writing a driver for the camera, if possible using libusb, but I honestly do not know where to start with that. Sniffing the USB port (with their native drivers), what to do with that information afterwards?
I would be very grateful if someone could shed some light on that subject as well - how to get started, any good books to recommend on writing driver software?
Also, I am aware that Linux Kino offers similar functions so I could check out the source, but is it only for IEEE 1394?
One last question, how could I achieve that the camera starts up automatically on computer start up, given that it's connected through USB?
Sorry for the long post,
Thank you and best wishes!
Matekk