Hi Andrey, thanks for your help on this.
The Point Grey Chameleon is a USB2.0 camera. It works fine on the BeagleBoard using the capture functions from http://sourceforge.net/projects/libdc1394/!
You guessed right about overwriting the images. It turns out that when I was queueing the images up for saving, I was queuing up pointers to the images rather than copies of the images, which explains why the video seemed to be jumping all over the place. It’s fixed now.
Now the problem is that I can only get ~4fps when capturing from both cameras simultaneously. And even at that frame rate, the color image is sometimes split down the middle (see attached image). My SD card is the Sandisk Extreme Pro which supposedly has the fastest write speeds on the market. I also have external USB storage plugged in. I tried saving the color images to the sd card and the infrared images to the USB storage, and I tried saving all the images to the sd card, but it doesn’t seem to make a difference.
Do you think it’s even possible to get ~15 fps on the BeagleBoard, with 1280x960 color image and 640x480 infrared? Or am I wasting my time here? The reason I need such a high frame rate is because I want to do tracking. And the reason I need 1280x960 resolution is because I’m doing people detection from aerial imagery, so the camera would be quite a distance away from the people. I will gladly post my code if you think I can improve the frame rate…