Lecture de qrcode et datamatrix

Connaîtriez vous une façon de lire les QR codes et/ou datamatrix, si possible «efficace».

Pour les fabriquer, tout va bien : le paquet «qrencode» pour les qrcodes et le paquet iec16022 pour les datamatrix, sont mes amis.
En revanche pour l’exercice inverse c’est à dire en partant du motif pour retrouve le message d’origine, c’est la grosse galère : je ne trouve rien ni l’ombre d’une piste!

Voilà, merci d’avance pour vos lumières.

Un piste libdecodeqr0 (A C/C++ library for decoding QR code). Des exemples de programmes sont fournis dans le paquet libdecodeqr-examples.

J’ai regardé rapidement le code de l’exemple simple. Ça n’a pas l’air spécialement compliqué (si tu sais coder en C++).

Certes, j’avais déjà installé mais la seule chose que j’arrive à faire avec ces paquets et les commandes données en exemple c’est afficher le qrcode que je veux décoder sans le décoder. un viewer quoi …

Ce que je recherche serait plutôt un équivalent libre de quickmark qrcode.es/?p=107&language=en
Je pense que c’est possible car les spec des qrcodes sont publiées, non libres certes, mais publiées, vu qu’il existe des lecteurs libres de pdf je me dis qu’il doit exister qqchose d’équivalent ici.

Le programme libdecodeqr-simpletest ne renvoie pas le message original (dans le terminal) ?

Edit: je viens de tester, il n’affiche rien :confused:.

non. J’ai fait

Pour savoir comment ça marche. Ils disent en gros qu’il faut lui donner une image à traiter jusque là logique :

[code]DESCRIPTION
libdecodeqr-simpletest is libdecodeqr’s simple test program.

   This  sample program can recognize the image file of the QR code of JIS
   X 0510 and ISO/IEC18004.

USAGE
libdecodeqr-simpletest /usr/share/doc/libdecodeqr-exam‐
ples/img/test.qr.jpg
[/code]
et que ce soit avec l’image donnée en exemple ci-dessus ou directement une sortie de qrencode pour tester avec un autre fichier d’entrée : le comportement est le même il m’affiche l’image et m’invite à presser une touche pour quitter. Je n’ai rien de décodé et j’ai fouillé, je n’ai pas trouvé de fichier texte avec l’éventuelle sortie à l’intérieur.

[code]$ libdecodeqr-simpletest /usr/share/doc/libdecodeqr-examples/img/test.qr.jpg
libdecodeqr version 0.9.3 ($Rev: 42 $)
STATUS=2000
Test

Hit any key to end.

$
[/code]

STATUS=2000 signifie que l’image a bien été décodée. Le message de l’image fournie comme exemple est « Test ».

J’ai testé la création d’image, mais je n’ai pas encore réussi à obtenir un résultat correct.

Edit: en fait, la bibliothèque à l’air d’avoir du mal avec les petites images. Essaye l’option -s 5 de qrencode pour agrandir l’image générée. Par contre, ça ne fonctionne pas à chaque fois…
Ceci à l’air de fonctionner par exemple : qrencode -o test.png “bonjour test truc bidulle”

Ok, j’avais pas compris. Je vais faire des tests. Merci!

édit :
J’arrive à en décoder par contre ça marche pas à tous les coups loin de là et les critères de réussite sont pas franchement évidents à trouver. La taille par exemple avec -s 5 on arrive à en lire mais avec la sortie par défaut (== à -s 3 ) on arrive à lire des messages de longueur équivalente. Les longs messages par contre ont tendance à moins bien passer, ainsi que les plus courts … faudrait faire des stats.

Vu le tx d’échec avec des fichiers vierges de tout bruit, j’ose pas trop imaginer le résultat si on balance des jpeg provenant d’une webcam …
je continue les tests pour essayer de comprendre pourquoi ça foire.

Enfin, normalement le QR Code est conçu pour être robuste. L’image doit pouvoir être décodé même si elle est de mauvaise qualité, bruitée, contenant des erreurs, etc. Alors si avec une image parfaite au format PNG, ça ne fonctionne pas correctement, c’est qu’il y a un problème. Il y a peut-être certains paramètres à passer à l’API que ne fais pas le programme simple.

Sinon, il existe certainement d’autres bibliothèques pour décoder des QR Code. Les seules informations intéressantes que l’on peut trouver sur cette bibliothèque sont en japonais… Sinon tu peux peut-être contacter directement son auteur pour avoir de plus amples informations.

je me suis un peu intéressé à ça, même si j’ai plus travaillé sur le code barre
plus j’ai jardiné plus je me suis dit qu’une fois qu’on avait une image acceptable le mieux était de se faire son algo
bon, je ne l’ai pas encore fait pour les datamatrix, c’est plus chiant que les codes barre