Electronic – Extracting images from a camera in real-time

cameraembeddedfpgasduav

Me and a group of students are building a UAV and we want to put a high quality camera in it (i.e. a decent ~100mm zoom lens) and interface the imagery with on board processing. I have looked around for a camera that can interface over USB, or any other connection that is compatible with either a Pandaboard or a DE0, but I have not been able to find any that meet the specifications (without being much too expensive).

We have a Casio Exilim EX-Z1050 that has a crack in the screen, and thus perfect for integrating with the UAV. The question is, what is the best way to get either video or at least 2 stills per second out of it in real-time?

I was thinking of using something like this to grab either video or stills as they are being recorded onto an SD card. What is the feasibility of using perhaps an FPGA to perform this? If someone knows where I can find a spec for the SD protocol (the 1/4 bit one, not the slow SPI one), or perhaps a useful enough reverse-engineered spec, a link would be very useful.

Any other ideas?

Many thanks!

Best Answer

Most of the of the Canon A series cameras are able to run the free and stunningly capable CHDK - Canon Hack Development Kit and also here.

  • CHDK allows you to communicate via USB, control the camera's every know feature and add extra features. eg you can set up motion sensing of a selected area with action of choice to follow even though this facility is probably available as std on none of the cameras concerned.

CHDK is installed on an SD card which is inderted in the camera and the camera loads and runs it along with any "program" files at power up. The camera is not altered. I understand that the latest Canon A series camera are not compatible, but the project is ongoing and capable.

Overview here


They say:

Enhanced Image Capture: CHDK supports RAW format for pictures (in addition to JPEG), longer recording time and length for videos (up to 1 hour or 2GBs), and several new compression options.

Additional Information On-Screen: With CHDK, you can customize your on-screen display to your heart's content, including worthwhile information like remaining battery life, histogram, depth of focus, and more.

Additional Photographic Settings: CHDK takes many of the features already available on your camera and gives you way more options, including longer exposure times (up to 65 seconds), faster shutter speeds (1/25,000 sec or faster), automatic bracketing of your photos, and more.

Support for Small Programs/Scripts: CHDK can run small scripts that will allow your camera to perform a set of actions based on the conditions of the script. Tons of scripts are available, and they provide functionality like motion-sensing photography (which reportedly works for lightning strikes) and unlimited interval time-lapse photography (see video below). Click to view

Even better, CHDK is being actively developed, which means that new features are always on the horizon. There are actually several versions of CHDK in development, but the version we're going to focus on is called the Allbest build—a build that incorporates many of the best features available in other builds (get it?).

What You'll Need

To use CHDK, all you need is a supported Canon digital camera and an SD memory card. If you've already got a supported camera then it only follows that you've got the memory card, so you're already well on your way.