I need to write a program that does some LK optical flow calculations on an USB webcam feed using OpenCV. This has to be on an embedded system.

I currently own a Raspberry PI revision A coupled with Microsoft LifeCam VX-500. Althrough the camera works correctly in 640x480 resolution, I am getting at most 3 FPS with a simple program that just captures the frames and does nothing with them (not even display them). When I apply LK optical flow calculations, one frame takes around 640ms to process. This is unacceptable.

I do not exactly know why this is so slow, on one hand a bunch of USB issues are reported with PI that would slow down frame grabbing from the camera, on the other hand many say the PI's CPU is simply too slow in floating point operations that it is practically unusable to do image processing.

What is the culprit of this slowness? PI is fully updated, using raspberian, newest opencv (downloaded week ago), compiled fine, just very slow.

If PI is not a way to go, I am looking for a replacement system, any suggestions are welcome. Perhaps one of these? http://www.efytimes.com/e1/creativenews.asp?edid=84368 Or this one http://www.marsboard.com/? Or perhaps an intel Atom board? Which would be the best?

I need to achieve at least 15 frames per second with calculations taking place, 25 frames per second would be optimal.

Thanks a lot.

1 Answer 1


I'd recommend to take a look on something like PandaBoard, the latest "ES" version has dual-core OMAP4460 with two Cortex-A9 cores running at 1.2Ghz, that should be more than enough for your video processing needs, cheap single-core ARM boards in 600-800MHz range just don't fit in the terms of performance.

  • 1
    I recently found an article that shows openCV facial recognition using the RPI exclusive camera board. link. Things appear to be running much faster! It seems USB is a major bottleneck on PI, for some reason. If the CPU is able to calculate facial recognition, it should be able to calculate LK optical flow as well. I'll look into it first, if not, I'll try the board you recommended. In the mean time, any other suggestions or analysis are welcome. Thanks.
    – kbs1
    Jun 22, 2013 at 2:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.