Comment lire un code-barres d'une image

Je suis à la recherche d'une bibliothèque, d'une technique ou des conseils sur la façon de lire un EAN-13 de codes à barres à partir d'une image (y compris ISBN,et ISSN encodages).
L'image d'un téléphone portable ou une webcam, de sorte que la résolution peut être très pauvres et n'est pas bien aligné.

Je suis particulièrement intéressé par quelque chose qui pourrait être utilisé à partir de ruby on rails, mais les réponses pour les autres langues sont les bienvenues. Des solutions Open Source préféré.

Des solutions de pointe à jour:

  1. ZBar (précédemment connu sous le Zèbre - h/t @bgbg, @Natim) - mis en œuvre en C, avec des interfaces pour Python, Perl, C++ et
  2. ZXing (h/t @codr) - mis en œuvre en Java (J2SE et Android) avec d'autres modules/ports en divers états de développement (JavaME, C#, C++, JRuby, RIM, iPhone/Objective-C)

source d'informationauteur tardate