OpenCV on BeagleBoard

Dear all,

I want to run a C code full of OpenCV functions on BeagleBoard. Has
anybody done that ever?
I would be really grateful if you let me know.

Best regards

I have done that, and I’ve heard of other people that also did.

That’s quite simple on beagle board running angstrom, as it has opencv pre-compiled packages. Just install from angstrom repository.

Rafael.

I just got my board; I'm planning to do something similar. Do the
precompiled OpenCV packages just run ARM code, or do they take
advantage of the on-chip DSP core?

--Rick Kwan

Not this precompiled one, but there are projects for the OMAP platform enabling OpenCV to use the DSP.

Take a look at http://code.google.com/p/opencv-dsp-acceleration/

Rafael

I am actually going to be doing this as a project in my robotics
class. I haven't gotten to this point yet but will be soon. I don't
think there is any reason why it won't work. The beagleboard is able
to run 32 bit Ubuntu. As for Angstrom, as long as it has the right
packages I believe should be capable of doing this. I mean it has its
own filesystem, all you to do is put the library files and other
dependencies in the correct directory and so forth. To come to think
of it I should check if Angstrom is compatible with OpenCV.

Thank you all for your answers.

Actually I need to know if I can use the DSP core to run OpenCV functions. I want to implement a complex image processing algorithm on my beagleboard and I do need high performance. I hope I can divide my code on ARM and DSP cores and take advantage of the strong structure of DSP to get my required performance. As I know, the OpenCV developed for DSP just contains a few functions. I need lots of openCV functions, including Haar application.

Has anybody done this before? Thanks again for your kind helps.

Naveen Dhawan wrote:

I am actually going to be doing this as a project in my robotics
class. I haven't gotten to this point yet but will be soon. I don't
think there is any reason why it won't work. The beagleboard is able
to run 32 bit Ubuntu. As for Angstrom, as long as it has the right
packages I believe should be capable of doing this. I mean it has its
own filesystem, all you to do is put the library files and other
dependencies in the correct directory and so forth. To come to think
of it I should check if Angstrom is compatible with OpenCV.

http://www.angstrom-distribution.org/repo/?pkgname=opencv

Thank you Nayeen. But your answer does not mention using OpenCV on DSP. I checked the link that you’ve sent. It does not support DSP architectures. Are you trying to work with the DSP core in your robotic project? Do you think
using just ARM core of BeagleBoard can provide the required performance for a complex image prcessing algorithm?

nastaran nemati wrote:

Thank you all for your answers.

Actually I need to know if I can use the DSP core to run OpenCV functions. I want to implement a complex image
processing algorithm on my beagleboard and I do need high performance. I hope I can divide my code on ARM and DSP cores
and take advantage of the strong structure of DSP to get my required performance. As I know, the OpenCV developed for
DSP just contains a few functions. I need lots of openCV functions, including Haar application.

as you found out, dsp support in openCV is "limited" at the moment.

So, it will be up to you to add more on the dsp side.

you might also want to look into:

http://focus.ti.com/docs/toolsw/folders/print/c6run-dsparmtool.html

and

http://focus.ti.com/docs/toolsw/folders/print/c6accel-dsplibs.html

I've gotten c6run to work on the Beagle (with help from TI). Here are
the steps I used [1]. It's a rather nice system. c6runlib let's you
decide what runs on the ARM and what's on the DSP.

--Mark

[1] http://elinux.org/ECE597_Installing_DSP_Development_Tools_c6run

Many thanks Vladimir and Mark. I’ve checked these links and they seem to be really useful.
Have any of you actually used DSP core on BeagleBoard to run a complex C code?

–Nastaran