Comment fonctionne le scanner de cartes MTG
Le scanner de cartes de Lotus Vault reconnaît une carte Magic depuis la caméra de votre téléphone, entièrement dans le navigateur. Il repère la carte dans l'image, la redresse, résume son illustration en une empreinte de 256 bits et cherche cette empreinte dans une base d'environ 100 000 impressions stockée sur votre appareil. Aucune photo n'est envoyée nulle part, et aucun modèle d'IA n'intervient. Scanner demande un compte gratuit, et les cartes que vous validez rejoignent votre collection, impression par impression.
Ce guide a été entièrement rédigé par une IA, à partir du code de Lotus Vault et des sources officielles citées en fin de page.
De l'image à la carte, en quatre étapes
Le scanner examine le flux de la caméra plusieurs fois par seconde. Chaque image passe par les quatre mêmes étapes, toutes calculées sur votre téléphone :
- Détection et redressement. OpenCV.js, la version JavaScript de la bibliothèque de traitement d'image OpenCV, cherche dans l'image un contour en forme de carte. Il essaie quatre méthodes, de la plus rapide à la plus lente, et garde le premier résultat valable : une simple détection de bords pour les cartes bien éclairées qui ont une bordure, un seuillage adaptatif pour les cartes sans bordure et les fonds uniformes, une détection de bords après égalisation du contraste pour une lumière faible ou inégale, et un seuillage global en dernier recours. Le contour est ensuite corrigé en perspective pour obtenir une image plane et droite de 600 × 840 pixels, le format 5:7 d'une carte.
- Empreinte. La carte redressée est recadrée sur son illustration — bordure, ligne du nom et boîte de texte écartées —, passée en niveaux de gris et réduite à 64 × 64 pixels. Une transformée en cosinus discrète décompose cette image en fréquences. Le scanner garde les 16 × 16 fréquences les plus basses, met de côté la première (la luminosité d'ensemble, laissée à zéro) et transforme chacune des autres en un bit : 1 au-dessus de leur médiane, 0 en dessous. On obtient une empreinte perceptuelle (pHash) de 256 bits, soit 32 octets, qui résume l'allure de l'illustration plutôt que ses pixels exacts.
- Comparaison. L'empreinte est comparée à chaque impression de la base téléchargée par distance de Hamming : le nombre de bits qui diffèrent, de 0 (identiques) à 256. Le scanner garde les cinq impressions les plus proches ; avec un filtre de set actif, les impressions de tous les autres sets sont purement et simplement ignorées.
- Vote. Une image ne compte que si l'impression la plus proche se trouve à 115 bits ou moins et si elle contient assez de bords pour être une vraie carte plutôt qu'une surface vide. Une carte est validée dès qu'elle arrive en tête d'au moins 4 des 8 dernières images retenues, puis n'est plus revalidée tant qu'elle n'a pas quitté le cadre ; le contour dessiné sur l'image de la caméra passe de l'ambre au vert à mesure que les images correspondent.
La base d'empreintes
Un script exécuté sur le serveur de Lotus Vault lit les données en masse (bulk data) de Scryfall, télécharge l'image de chaque impression papier — jetons, emblèmes et cartes des séries d'illustrations font partie des exclusions — et calcule son empreinte avec exactement les mêmes étapes que votre téléphone. Un test de parité garantit que les versions du serveur et du navigateur restent identiques au bit près, et la base consigne la méthode de calcul qui l'a produite : face à une base construite autrement, le scan s'arrête plutôt que de reconnaître de mauvaises cartes sans prévenir.
| Élément | Valeur |
|---|---|
| Impressions dans la base | 99 965 |
| Empreinte par impression | 256 bits (32 octets), calculés sur l'illustration seule |
| Premier téléchargement | Environ 17 Mo de base et 10 Mo pour OpenCV.js, gardés ensuite en cache par le navigateur |
| Image retenue comme candidate | Impression la plus proche à 115 bits ou moins sur 256 |
| Carte validée | La même carte en tête d'au moins 4 des 8 dernières images retenues |
| Contrôle supplémentaire avec un filtre de set | Au moins 8 bits d'avance sur la carte différente la plus proche |
Ce qui reste sur votre téléphone
Aucune photo ne quitte votre téléphone. La reconnaissance ne comporte aucune étape côté serveur : le flux de la caméra, chaque image et chaque empreinte restent dans l'onglet du navigateur, et une ancienne conception qui comparait les images sur un serveur a été retirée du code. Rien de ce qui transite par le réseau ne provient de votre caméra :
- La base d'empreintes, environ 17 Mo, téléchargée une seule fois depuis le site de Lotus Vault puis servie par le cache de votre navigateur. Un petit manifeste, vérifié à chaque ouverture du scanner, permet à une base reconstruite de remplacer l'ancienne.
- OpenCV.js, environ 10 Mo, récupéré une seule fois sur un CDN public (jsDelivr, avec unpkg en secours). Avant son exécution, le fichier est haché (SHA-384) et comparé à une valeur figée dans le code. Une copie qui ne correspond pas n'est jamais exécutée : le scanner essaie l'autre miroir, et s'arrête si aucun ne correspond plutôt que d'exécuter une copie altérée qui aurait accès à votre session.
- Après une reconnaissance, l'image de la carte est chargée depuis Scryfall à partir de l'identifiant de l'impression reconnue, et les prix viennent de l'API de Lotus Vault quand vous ouvrez la liste de vérification. Aucune de ces requêtes ne transporte quoi que ce soit issu de votre caméra.
- Quand vous ajoutez les cartes, une seule requête envoie à votre collection la carte, l'impression et la quantité de chaque ligne. Rien d'autre.
La vignette de chaque carte scannée, affichée dans la liste de vérification, reste dans la mémoire de la page. La file elle-même est enregistrée dans le stockage de session de l'onglet pour survivre à un rafraîchissement, mais sans les vignettes.
Quelle précision, et pourquoi filtrer par set
Le scanner tolère les angles, les reflets et une lumière inégale, mais la carte doit rester visible et lisible. Sa principale limite : l'empreinte décrit l'illustration, pas le nom ni le texte de la carte, si bien qu'une carte réimprimée avec la même illustration dans plusieurs sets a presque la même empreinte dans chacun. La base couvre les impressions, pas seulement les cartes : le scanner distingue donc les éditions quand l'illustration change ; quand elle ne change pas, l'impression la plus proche n'est pas forcément celle posée sur votre table.
Le filtre de set est le levier qui réduit cette ambiguïté. Quand il est actif, seuls les sets choisis sont parcourus, et une seconde sécurité s'applique : la meilleure correspondance doit devancer d'au moins 8 bits la carte différente la plus proche. Cette sécurité est volontairement désactivée sans filtre, car à l'échelle du catalogue entier, réimpressions et illustrations proches sont souvent plus serrées que cela, et elle rejetterait de bonnes correspondances. Dans la validation qui fonde les seuils, le vote sur plusieurs images a reconnu environ 98 % des cartes de test avec un filtre de set actif, contre environ 79 % quand une seule image devait trancher. Filtrer sur un ou deux sets quand vous scannez des cartes d'une même édition porte la précision à presque 100 %.
Ces seuils ne sont pas choisis au hasard. Un script de validation confronte 300 échantillons volontairement dégradés de cartes connues à une base fraîchement construite : les vraies correspondances y différaient de 80 bits sur 256 en médiane, et 90 % d'entre elles de 108 bits ou moins ; la limite par image, fixée à 115, se situe donc juste au-dessus de ce 90e centile. Les seuils sont validés à la main sur des jeux de test quand la base est reconstruite : une étape de la procédure documentée, pas un contrôle automatique.
Conseils pour des scans propres et rapides
Quelques habitudes changent vraiment la donne :
- Choisissez le set d'abord. Tapez un code ou un nom de set dans le filtre : un nom comme « Bloomburrow » ajoute tous les sets dont le nom le contient — le set principal, ses decks Commander, les promos, etc. Vous pouvez combiner plusieurs sets, et votre choix est mémorisé pour la visite suivante.
- Videz le filtre pour une pile mélangée. Le filtre est strict : une carte de n'importe quel autre set ne peut jamais être reconnue. Au mieux elle est rejetée ; au pire elle est confondue avec une carte ressemblante des sets choisis.
- Soignez la lumière et la netteté. Les reflets, surtout sur les foils, peuvent faire osciller les images entre correspondance et échec. Quand le navigateur de votre téléphone le permet, des boutons sur l'image de la caméra allument le flash et règlent le zoom (le niveau choisi est mémorisé), et toucher l'image relance la mise au point.
- Une carte à la fois. Attendez qu'une carte soit ajoutée, puis sortez-la du cadre. Pour un second exemplaire de la même carte, retirez-la et présentez-la de nouveau : elle n'est pas comptée deux fois tant qu'elle reste dans le champ.
- Choisissez à la main quand le scan automatique hésite. Les cartes full art, les foils sans bordure et les reflets marqués peuvent empêcher le vote d'aboutir. Le bouton en bas de l'image de la caméra affiche alors les cinq candidates les plus proches pour l'image en cours, à partir d'un recadrage centré au format d'une carte si aucun contour n'est trouvé, ainsi qu'une recherche par nom.
- Corrigez avant d'ajouter. Le dernier scan se corrige sur place, en passant à une autre impression de la même carte ou en cherchant une autre carte par son nom. Chaque ligne de la liste de vérification propose les deux mêmes corrections, plus le changement de quantité et la suppression.
Face aux applications de scan
Plusieurs applications dédiées scannent elles aussi les cartes Magic. Le tableau s'en tient à ce que disaient leurs propres pages, leurs fiches sur les magasins d'applications ou la presse spécialisée au moment de la vérification de ce guide. Aucune de ces sources ne précise où tourne leur reconnaissance : ce guide n'affirme donc rien à ce sujet, dans un sens comme dans l'autre.
| Scanner | Reconnaissance | Choix du set | Où tourne la reconnaissance |
|---|---|---|---|
| Lotus Vault | Une empreinte de 256 bits de l'illustration, comparée à environ 100 000 impressions | Filtre sur un ou plusieurs sets, mémorisé d'une visite à l'autre | Dans le navigateur ; le code indique qu'aucune image n'est envoyée à un serveur |
| ManaBox | Reconnaît les cartes à partir de l'illustration ; sa F.A.Q. prévient qu'une même illustration présente dans plusieurs éditions peut aboutir à la mauvaise impression | Le scanner peut être verrouillé sur un set | Non précisé dans la F.A.Q. de son scanner |
| Delver Lens | Cartes, jetons et emblèmes, de l'édition Alpha jusqu'au set le plus récent | Non couvert par les sources consultées | Non précisé dans les sources consultées |
| Dragon Shield MTG Scanner | Scanne les cartes dans n'importe quelle langue, avec traduction en temps réel | Non couvert par les sources consultées | Non précisé dans les sources consultées |
Au-delà de la reconnaissance, ces applications se distinguent par ce qui l'entoure. Delver Lens intègre les prix TCGplayer et Cardmarket, un parcours d'achat et de vente avec Card Kingdom et le texte Oracle hors ligne. Le scanner de Dragon Shield est gratuit avec des achats intégrés facultatifs, ajoute des fonctions sociales et d'échange, et son éditeur revendique 18 millions de cartes scannées par mois — un chiffre marketing, non vérifié de façon indépendante. ManaBox recommande un fond uni et un bon éclairage. Côté Lotus Vault, la base écarte les jetons et les emblèmes, et il faut un compte pour scanner ; en échange, ce que vous scannez rejoint directement une collection tenue à l'impression près.
Qui peut l'utiliser, et où vont les cartes
Le scanner fait partie de l'application connectée. Il est gratuit, comme le reste de Lotus Vault, mais il demande un compte — contrairement au playtester solo public, qui s'en passe — parce que ce que vous scannez est destiné à rejoindre votre collection. Votre navigateur vous demande l'accès à la caméra à la première ouverture.
Chaque carte validée rejoint une file de vérification. Scanner de nouveau la même impression augmente sa quantité, et chaque ajout peut être annulé pendant quelques secondes. La liste de vérification affiche le prix Cardmarket de chaque impression et la valeur cumulée du lot. Rien n'est enregistré tant que vous n'ajoutez pas le lot à votre collection, en une seule requête qui consigne chaque carte avec son impression exacte : la même carte scannée dans deux sets différents devient deux impressions possédées. La file survit à un rafraîchissement de l'onglet, mais pas à sa fermeture, et le scanner demande confirmation avant que vous ne quittiez la page avec des scans non enregistrés.
Les cartes possédées comptent ensuite dans la liste d'achat de chaque deck, qui compare le deck à votre collection. Pour la version courte du fonctionnement de la reconnaissance, voyez la section Scanner de la page À propos.
Le scan est gratuit : créez un compte, ouvrez Scan depuis le menu et pointez votre téléphone vers une carte.
Créer un compte gratuitGuides liés
Sources
- ManaBox — Card scanner F.A.Q. (nouvel onglet)
- MTG Card Scanner Delver Lens — Google Play (nouvel onglet)
- MTG Scanner - Dragon Shield — App Store (nouvel onglet)
- Magic Untapped — MTG Scanner, Dragon Shield's free-to-use smartphone app (nouvel onglet)
- Scryfall — Bulk Data (nouvel onglet)
Mis à jour le 26 septembre 2026