Ask Your Question

OpenCV integrate in MCU

asked 2016-12-20 23:41:36 -0500

SaurabhPatel gravatar image

Hello All, I am embedded guy and have only experience in MCU (Not Linux based system). I am looking for the solution to port OpenCV in MCU (Minimum Sub-system, e.g. STM32F4). Please let me know what minimum resources like processing power (MHz), RAM, Single precision FP require to run OpenCV for MCU for finger detection?

Is this possible or only require Linux to run OpenCV?


edit retag flag offensive close merge delete


that's a microcontroller, not a computer ?

berak gravatar imageberak ( 2016-12-20 23:46:04 -0500 )edit

Yes, I want solution for Micro controller only if possible

SaurabhPatel gravatar imageSaurabhPatel ( 2016-12-21 01:54:13 -0500 )edit

not an expert, but your chances seem low. (even a simple malloc() requires an os of some kind)

berak gravatar imageberak ( 2016-12-21 02:02:22 -0500 )edit

Hey Berak!! Thanks for your opinion... May i have minimum resources details if you have worked on OpenCV? After lot of googling, i came to certain things like require high processing capable CPU, huge RAM, multiple FPs, but don't find exact minimum number of that resources..It would be helpful for me if i have that numbers.

I just want to know the exact reasons why OpenCV is not possible to port in MCU?

SaurabhPatel gravatar imageSaurabhPatel ( 2016-12-21 02:25:19 -0500 )edit

again, i cannot answer your question, but maybe have a look here .

berak gravatar imageberak ( 2016-12-21 02:31:30 -0500 )edit

I have no experience with microcontrollers but in my opinion it depends also of the type of architecture of the microcontroller (with ARM microcontrollers, maybe it is feasible). If the task is really specific (finger detection), I would implement myself the few necessary functions (color space conversion, image thresholding, contour detection, etc.) instead of trying to compile / port OpenCV on another architecture.

Eduardo gravatar imageEduardo ( 2016-12-21 07:04:53 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2016-12-21 08:32:34 -0500

kbarni gravatar image

updated 2016-12-21 08:59:41 -0500

OpenCV isn't portable to microcontroller systems. I don't know about minimum hardware requirements, but as long as your system can't handle the minimum software requirements, it won't work.

However OpenVx might be the thing you are looking for. It is a computer vision library for embedded devices. Several vision-oriented microcontrollers are compatible with OpenVx. (I don't know the STM32F4, but STMicroelectronics makes OpenVX compatible MCUs).

Otherwise you'll have to implement the algorithms yourself, as @Eduardo said. Writing a specific application for a target architecture will be much-much more efficient than using 3rd party libraries.

edit flag offensive delete link more


Thanks @kbarni and @Eduardo!! I am pretty clear from your comment that OpenCV porting is not work with MCU as MCU comes with limited processing capacity and limited RAM.

@Eduardo - Thanks for pointing openVx. I'll dig more on it at my end. However, it would be great if you share here some details on OpenVx like where you got the details that it is possible with STMicroelectronics. Actually, I am looking for 'finger detection' solution is feasible using IR camera with ST MCU.I am allow to use any open lib for image processing.

SaurabhPatel gravatar imageSaurabhPatel ( 2016-12-21 23:20:03 -0500 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2016-12-20 23:41:36 -0500

Seen: 913 times

Last updated: Dec 21 '16