Lecteur de Code QR

Décodez un code QR à partir d'une image téléversée ou de votre caméra, directement dans votre navigateur — aucune installation d'application, rien n'est envoyé à un serveur.

225 vues

Comment un Code QR Est Réellement Décodé

Un code QR (Quick Response) n'est pas une image de données — c'est une grille de modules noir et blanc qui encode directement des bits, et le relire est un problème de vision par ordinateur en plusieurs étapes, pas une simple recherche. La première étape consiste à localiser le code : chaque code QR porte trois motifs de repérage distinctifs (les anneaux carrés imbriqués dans trois coins), chacun avec un ratio de modules sombre-clair très précis de 1:1:3:1:1 le long de toute ligne de balayage passant par leur centre. Un décodeur parcourt l'image ligne par ligne à la recherche de ce ratio exact, car il est statistiquement presque impossible qu'il apparaisse accidentellement dans un contenu d'image ordinaire, ce qui explique précisément pourquoi il a été choisi comme empreinte. Trouver les trois motifs de repérage indique au décodeur la rotation, l'échelle et la position approximative du code, même si la photo a été prise sous un angle.

Une fois orienté, le décodeur échantillonne la grille au centre de chaque module pour le lire comme un 1 ou un 0, utilise la bande d'informations de format à côté des motifs de repérage pour connaître le niveau de correction d'erreur et le motif de masquage appliqués, inverse le masque XOR (les codes QR brouillent délibérément leurs propres données avec l'un de huit motifs pour éviter de longues séries de modules identiques, qui perturberaient sinon la recherche des motifs de repérage), et exécute enfin la correction d'erreur de Reed-Solomon pour reconstruire les octets d'origine — la même technique mathématique utilisée sur les CD et les liaisons satellite, ce qui explique pourquoi un code QR peut encore être lu même lorsque jusqu'à 30 % de sa surface est physiquement endommagée ou masquée, selon le niveau de correction d'erreur choisi lors de sa génération.

Cet outil effectue tout ce décodage localement en JavaScript à l'aide d'une bibliothèque de décodage QR open source, que ce soit sur une image fixe que vous téléversez ou sur des images vidéo en direct extraites une par une de la caméra de votre appareil et analysées de la même manière. Rien n'est jamais envoyé à un serveur — décoder un code QR susceptible de contenir un mot de passe Wi-Fi ou des coordonnées personnelles entièrement dans le navigateur, plutôt que de téléverser d'abord l'image quelque part, constitue une différence de confidentialité significative.

Ce Que Signifie Réellement le Texte Décodé

  • Une URL commençant par http:// ou https:// obtient un bouton « Ouvrir le lien » ; tout le reste (texte brut, une chaîne d'identifiants Wi-Fi, une vCard) est affiché comme texte décodé brut, car agir automatiquement sur un contenu autre qu'une URL serait imprévisible.
  • Le balayage par caméra vérifie chaque image environ 60 fois par seconde (aligné sur la fréquence d'images d'animation du navigateur) jusqu'à ce qu'un code valide soit trouvé, puis s'arrête automatiquement - il n'enregistre ni ne stocke jamais de vidéo.
  • Un code QR avec un niveau de correction d'erreur plus élevé (désigné L/M/Q/H lors de sa création) tolère davantage de dommages physiques mais stocke moins de données réelles par unité de taille de code, car une plus grande partie de la grille est consacrée à la redondance plutôt qu'au contenu.
  • Si le décodage échoue sur une photo, les causes les plus courantes sont le flou de mouvement, un angle de vue extrême, ou un code si petit dans l'image que les modules individuels se confondent - pas un code fondamentalement illisible.

Questions fréquentes

Comment le lecteur trouve-t-il le code QR dans une photo ?

Il recherche les trois motifs de repérage distinctifs - les anneaux carrés imbriqués dans trois coins - en cherchant leur ratio sombre-clair unique de 1:1:3:1:1 le long des lignes de balayage. Ce ratio a une probabilité extrêmement faible d'apparaître par accident, ce qui explique précisément pourquoi il fonctionne comme une empreinte fiable même dans des photos encombrées.

Pourquoi un code QR endommagé ou partiellement masqué peut-il encore être lu ?

Les codes QR utilisent la correction d'erreur de Reed-Solomon, la même technique mathématique utilisée sur les CD et les transmissions satellite, qui stocke des données redondantes en plus du contenu réel. Selon le niveau de correction d'erreur choisi lors de la création du code, jusqu'à environ 30 % du code peut être manquant ou endommagé et être quand même correctement décodé.

Ma photo ou le flux de ma caméra est-il téléversé quelque part ?

Non. Le chemin de l'image téléversée comme celui de la caméra en direct sont décodés entièrement dans votre navigateur avec JavaScript - aucune image ou trame vidéo n'est jamais envoyée à un serveur.

Pourquoi l'outil affiche-t-il un bouton « Ouvrir le lien » pour certains codes mais pas pour d'autres ?

Il n'apparaît que lorsque le texte décodé commence par http:// ou https://. Les autres contenus QR - texte brut, identifiants Wi-Fi, cartes de contact - sont affichés en texte brut à la place, car agir automatiquement sur des données autres qu'une URL ne serait ni prévisible ni sûr.

Pourquoi le balayage a-t-il échoué alors qu'il y a clairement un code QR sur la photo ?

Les causes les plus courantes sont le flou de mouvement, un angle de vue prononcé qui déforme la géométrie de la grille, ou un code trop petit dans l'image pour que les modules individuels soient distingués - essayez une photo plus nette, plus frontale et plus rapprochée plutôt que de supposer que le code lui-même est illisible.

Commentaires

Pas encore de commentaires — soyez le premier à en écrire un !

Outils similaires