Relevant microcontroller specifications for (very) easy image processing

My fellow students and I decide to choose a simple microcontroller for very simple image processing. We are mainly trying to implement pattern matching to find a set of objects in certain parts of the image. We would like to use a webcam to connect to the microcontroller in order to work with photos and search for objects. We also need basic wireless connectivity (e.g. bluetooth or Wi-Fi).

I do not think that we will have the luxury of using a modern microcontroller, but something has been around for a while (due to the budget, etc.). Can anyone comment on what specifications of the microcontroller will be most important for the aforementioned task (e.g. CPU, MIPS, etc.).

Thanks a lot!

+6
source share
2 answers

For this kind of tasks, I would say that the amount of RAM is the most relevant specification.

  • A microcontroller with an external memory interface allows you to expand the data space using an additional SRAM for storing image data.

  • Also note that memory is required for any protocol stacks that you need to implement (Bluetooth, TCP / IP, especially).

  • You probably want to have total RAM in tens of kilobytes, preferably 100+ kB.

It is also nice to have a lot of program memory available for learning and experimenting.
Later, you can try to optimize and compress your code on a more limited device.

As for architecture, choose something you can easily find for developing tools and examples.
ARM, AVR and PIC are all good candidates among others.

Also find out which interfaces you need to use for

  • camera control (e.g. I2C or SPI)
  • read pixel data (e.g. parallel or analog)

Connecting directly to the webcam The USB interface will not be a simple task, since the microcontroller will have to act as a USB host.

Good luck with your project!

+3
source

You may need a microcontroller with the following features:

  • USB 2.0 host controller
  • 1.2 MB of memory for the 640*480*2(bytes per pixel)*2(double buffer) buffer 640*480*2(bytes per pixel)*2(double buffer) (you can use a lower resolution if there is not enough memory)
  • Wifi controller
  • High processor power for your task
  • Ready Open Source

It seems that Broadcom controllers may be useful here. Alternatively, you can use a wireless Wifi router with a USB port and use it for your project (i.e. Linksys E3000)

+2
source

Source: https://habr.com/ru/post/887531/


All Articles