0
\$\begingroup\$

For a project I am working on, I need some kind of way for a micro-controller (preferably Arduino, since I have background knowledge) to identify a certain symbol on a piece of paper (e.g. recognising an ampersand drawing), and then run some code depending on what it sees. The more symbols it could recognise, the better.

I understand that for identifying pictures in almost any program, you need a database to refer to. I assume this wouldn't be too difficult, but some tips on managing a database would be appreciated.

If there aren't any simple Arduino programs that exist, I could work with a pre-existing IC built for this purpose (I don't know if that would make sense, but just throwing ideas around). A link to a datasheet would also be appreciated.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Rather than arduino have you looked at the Raspberry Pi? I've seen lots of these sorts of projects used with the Pi \$\endgroup\$
    – Doodle
    Apr 8 '16 at 7:46
  • 2
    \$\begingroup\$ It's called Optical Character Recognition and no, it can't be done on a simple microcontroller/MCU based Arduino. You typically need a computer to do it. (maybe a FPGA). Said computer doesn't need to be a powerhouse, a RPi, or a smartphone can do it. \$\endgroup\$
    – Passerby
    Apr 8 '16 at 8:01
  • 1
    \$\begingroup\$ Have a look at the Pixy board for Arduinos they are capable of 2d/3d shape and colour recognition. \$\endgroup\$ Apr 8 '16 at 8:26
0
\$\begingroup\$

The question is broad as weak to powerful processors are used in Arduino designs. Here we will assume the original Arduino Uno using the ATmega328 processor is to be used. This processor is too weak to run OpenCV, the popular open-source software normally used for this type of application. Going on, because of limited memory it is likely only low resolution bit mapped graphics can be processed. And any effects which change the scanned image (lighting, rotation, scanning-speed & other variables) will be very difficult to deal with. Controlling the physical world to compensate for these deficiencies, while possible, will tend to make this project impractical.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.