Barcode reader

I'm not 100% sure this is the right category for this question so please point me elsewhere if it isn't.

I wish to create a barcode reader to install on my fridge and use an arduino micro to scan the barcode from an ov7670 camera (or any other cheap sensor/method) and show the scanned code and a couple of options (qty as an example) on a SPI display.

Question - Is the ov7670 the way you would go for the barcode scanning considering the requirements are: cheap, no pen/gun involved (it should be sticker on my fridge), very reliable scans (this is my main concern with the ov7670)?

Looking around I see there are alternatives in the small camera world which can be used to, eventually, replace the OV7670 with a higher resolution one, like the OV9650.

My concern is, a this stage, the processing power and memory required to perform the image recognition and obtain the char sequence encoded within the image.

Considering a VGA resolution we are talking of 720 x 480 x 3 = 1,036,800 bytes of data that need to be stored along with at least another work copy to perform the necessary image adjustments... that's definitely way more than Arduino capabilities....

Seeking advice on how to proceed here: image recognition is definitely not a requirement and, in case of image processing it's not a matter of FPS as I believe even 4FPS would be enough for barcode recognition

this is something for the Rpi. You can't store several Megabytes in a RAM that is only 2.5kByte

I think a proper bar-code gun reader thingy has to be the way to go: the recognition intelligence is built-in, and all it does is send out a number. It decodes the bar-code, most even recognising one symbology from another, strips out crap like start and end guards, knows about check-digits etc etc. All you get out is the number.

Then have a processor do something with that number, like log an item in or out, and keep a record of quantity and so on.

But how you hook one of those guns to an Arduino I have no idea, and would love to know. I imagine they're largely usb....

EDIT: Jimmyyy's software solution is cool, but it's a .net thing and to provide that functionality in an Arduino? I found a similar thing years ago- just a standalone utility it was- which decoded an image (jpeg, tiff etc) of a barcode into the codes. In fact even a dozen codes of different symbologies and at random orientations could be decoded from one pic. But that's pretty intensive processing I think.

rlogiacco:
image recognition is definitely not a requirement

Yes it is. You need to recognise the barcode against its background in the first place, and fence it. Then you need to decode the stripes into, well, stripes. Then you need to decode the stripes into characters. That involves testing the start characters against a number of possibilities so you know what the symbology is (unless you know they will all be of one symbology.)

Then, assuming it's an EAN product style code, you need to look at the first character (eg the "6" which for me indicates South Africa- not that the country is important) which actually is significant since it explains how to decode the pattern. (The "left" and "right" sides of the barcode are encoded differently.)

If it's a barcode that actually contains data (as opposed to merely the number) like EAN-128 then there's a shit house full of further decoding to do, including check digits and the like.

It's not a trivial task. Faaaaar easier to get a gun to do all that and spit out the number....

Sparkfun sells a bar code reader gun with USB or TTL serial output, so bar codes can be converted to some ascii characters that an Arduino can easily handle.
Product page Barcode Scanner USB - SEN-09166 - SparkFun Electronics
Relevant forum posts at Using Barcode Scanner USB with a Microcontroller - SparkFun Electronics

Then there are the CueCat wands that you can still get on ebay for US$10 or so. They act like a PC keyboard and can read just about any linear bar code. In a fascinating tale about a major, multimillion $ fiasco, Radio Shack gave away a million of them for free. If not modified the CueCat output is trivially encrypted but if "declawed" by a simple procedure, the output is unencrypted. Read more here: http://www.sujal.net/tech/declaw/

Have you seen this?

It doesn't say what kind of symbolgies it handles, but it might be worth looking into

First of all I want to thank you all for your inputs.

I've reviewed all your suggestions and, while I do understand (and foreseen) the difficulties regarding capturing an image from a cam and process it, I meant to say that was not necessarily the solution.

I understand a laser scan is much easier to integrate, especially if it includes the scan engine which performs the necessary recognition.

I've found fixed mount laser scans starting from 20$, but I was looking for a possible cheaper solution. The cuecat wand isn't an option simply because I want to have something hanging and hands free.