Hello, I'm a newbie in the field of Embedded systems. I have a at91sam9263 board with me and project deals with Real Time Image Processing. I want to know how to integrate OpenCV and uvision. Can any one throw up some light on this...
Of course not!
But you need to lay good foundations before you start any building - especially an ambitious one!
So, have you studied the Keil Documentation to find out how the tools work, and how to use them?
Have you studied the OpenCV Documentation to find out what it requires of the tools?
etc, etc...
Hi, I'm a bit familiar with OpenCV and I have worked with OpenCV in the visual studio environment. I'm going through the keil documentation. But till now, I have not found any explicit method to Integrate OpenCV and Keil.
But, if you looked in the Visual Studio documentation, you wouldn't find any mention of OpenCV there, either - would you?
uVision, like Visual Studio, is just a tool - you need to learn how the tool works, and then it's up to you to apply that learning.
The tool documentation can never hope to give specific details of every possible application - can it?!
You don't even need uVision to build your applications, unless you need the debugger.
Any framework with properly written, portable code, can be used as long as you make sure you have the source and include files at the correct location, any environment variables or paths correct and that the compiled application will not consume more resources than your target hardware has.
It is up to the OpenCV documentation to inform you about the needs for using it. Then it is up to you to read up on the Keil tools, and figure out what configuration chanegs you must do to get your project to fullfill the requirements documented in the OpenCV documentation.
If you feel this small step is problematic, then you may have really big problems with the steps that will follow.
You need a processor at least 10-20 powerfull than the at91sam9263 to get a decent result in OpenCV (or for any Image processing application).
I would try with http://www.beagleboard.org, it has a Cortex A8 processor for only $149. Some benchmarks in this platform: it takes 8 sec. to run the example of face recognition.
Thats not true in any case. We use an AT91SAM9260 and do image processing (edge detection, homogeneity analysis and others) with a good performance. The problem is, that the openCV code is not optimized for this specific processor, thus you have to optimize your code by hand - or just write it all by hand...
Hello Stefan, If possible can you give me more details about your project. It will be very helpful.
Praveen Krishnakumar, is this also you: http://www.keil.com/forum/docs/thread15525.asp ?
Hey no dude.... But that guy's project is almost similar to mine..... thats awesome....
But that guy's project is almost similar to mine
Hopefully, not too similar...
No. I'm not allowed to.
You right that can be used......and the performance can be improved doing optimizations in the primitives.....but AT91SAM9260 is NOT A MCU for Image processing and is a BAD choice for that propouse.
Hey I'm not asking for any algorithm or any code It will be very helpful If you can tell me the tool chains you have used... and the libraries for dealing with images.....
BAD choice for that propouse
Why? If you use well choosen algorithms, you may achieve a good performance anyway. It depends on your application. The main reason for us to choose this MCU was the ImageSensorInterface. And all algorithms were optimized to not use floating point arithmetic.
@Praveen Krishnakumar: We use MatLab for evaluating the algorithms and then we rewrote them in C.
Would you care to justify that with some specific reasons?
Image processing Algorithms can get a big boost if you can vectorize them. Intel processors have SIMD set of instructions or for example ARM has NEON. Obviously they have a float point processor too.
OpenCV for example was done by INTEL and they provide primitive optimizations...How are they done? Using SIMD.
The AT91SAM9260 is a general application processor; it has an ARMv5 instruction set with some basic DSP extensions, not even a Float Processor Unit.
YES!!! I don't care if you want to hit that nail into the wall with your screwdriver!