I want to port a good OpenCV code on an embedded platform. Earlier such stuffs were very difficult to perform but now TI has come up with nice embedded platforms which are comparatively hassle free as they say.
I want to know following things:
Given that :
- The OpenCV code is already running on PC smoothly. (obviously)
- Need to determine these before purchasing the device.
- Can't put the code here in stackoverflow. :P
- To chose from Texas Instruments: C6000.
Questions:
- How to make it sure that the porting will be done?
- What steps to be taken to make it sure that after porting the code, will run (at least).
- to determine whether the code might require some changes to make its run smooth.
The point 3 above is optional.
I need info which will at least give me some start up in this regard.
What I thought I should do?
- I am to list the inbuilt functions down.
- Then to find available online bench marking for those functions for the particular device like as shown towards the end of this doc.
- ...
Need to know how to proceed further?
However C6-Integra™ DSP+ARM Processor seems the best.
This is an interesting question but run is a very generic word in this context, therefore I feel the need to break it down to other 2 questions:
Will it compile in an embedded device?
Will it run as fast/smooth as in a PC?
I've used OpenCV in a lot of different devices, including ARM, SH4, MIPS and I found out that sometimes the manufacturer of the device itself provides a compiled version of OpenCV (for my surprise), which is great. That's something you can look into, maybe the manufacturer of your device provide OpenCV binaries.
There's no way to know for sure how smooth your OpenCV application will be on the target device unless you are able to find some benchmark of OpenCV running in there. PCs have far better processing power than embedded devices, so you can expect less performance from the target device.
There are 3rd party applications like opencv-performance, that you can use to test/benchmark the environment once you get your hands on it. And if performance is such a big deal in this project, you might also be interested in this nice article which explain some timing tests done on couple of OpenCV features comparing implementations using the C and C++ interfaces of OpenCV.