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!
mizo source share