Existe-t-il une bibliothèque java pour lire les codes à barres du numéro vin à partir de l'image? [fermé]


Je construis une application pour lire les codes à barres du numéro vin à l'aide de l'appareil photo à partir d'un téléphone Android.Je ne sais pas comment lire les codes à barres de l'image capturée à partir de l'appareil photo.(c'est-à-dire) Existe-t-il une classe pour lire le code à barres du format de numéro vin.J'ai essayé zxing et d'autres bibliothèques sans utilité pour moi.Merci

Remarque: J'ai essayé de chercher dans DDG.gg et Stackoverflow mais pas de solution appropriée.

Author: Kris Rajkumar, 2011-04-04

3 answers

Selon ce fil sur google code, zxing devrait le supporter. Ils disent que le problème pourrait être lié à la résolution de la caméra. Et ils mentionnent "auqoniq VIN scanner", qui semble être une application Android basée sur zxing.

 2
Author: Andreas_D, 2011-04-04 07:49:50

Je viens d'intégrer zxing dans mon application en tant que bibliothèque, et j'ai obtenu mon application pour analyser et décoder correctement un VIN. J'ai même changé le masque pour élargir la zone de numérisation disponible.

Le problème est certainement la résolution de la caméra. Grand, clair VIN scan sans accroc. Les VINS miteux ne le font pas.

Je rends mon champ VIN disponible pour la saisie manuelle s'il ne numérise pas. N'oubliez pas d'exécuter une méthode de chiffre de contrôle pour vous assurer qu'il s'agit d'un VIN valide.

J'en ai trouvé un que je peux utiliser ici: http://introcs.cs.princeton.edu/java/31datatype/VIN.java.html

 1
Author: Rka, 2012-03-04 18:14:58

J'ai utilisé avec succès le code source de zxing pour décoder en chaînes VIN valides et encoder les chaînes VIN en codes à barres via intent (avec un peu d'aide).

Voici la clé -

  1. Intégrez votre code source zxing en tant que bibliothèque. Voici le lien étape par étape:

    Http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/

    Remarque, il y a aussi une belle discussion ici quant à savoir pourquoi cela ne devrait pas être fait du point de vue d'un développeur, mais le code est libre et ouvert et nous devons le modifier d'une manière qui ne peut actuellement pas être faite via intent. Donc nous sommes aller.

  2. Dans votre projet, appelez zxing via intent (comme ils le recommandent); spécifiez intent.putExtra("SCAN_MODE","ONE_D_MODE");

    Je l'ai fait fonctionner dans les deux sens (avec et sans cette ligne) mais c'est à vous de décider si vous voyez de meilleurs résultats y compris. Je reçois généralement un VIN pour numériser en moins de 1/4 de seconde de mise au point une fois que c'est dans le cadre.

  3. La résolution de prévisualisation est importante, car l'aperçu de la caméra envoie des images au décodeur pour rechercher un code à barres valide.

    Donc... dans CameraConfigurationManager.java, spécifiez un MAX_PREVIEW_PIXELS plus grand (qui ne dépasse pas la résolution de votre écran). J'ai utilisé" 1024 * 600 " - la résolution de mes appareils. Cela peut prendre quelques ajustements.

  4. Dans CameraManager.java, modifiez votre rectangle de cadrage pour l'élargir à la taille du plus grand code-barres, via private static final int MAX_FRAME_WIDTH = screenpixelsinteger;, le mien est 1000.

  5. Dans public Rect getFramingRect() {, éditer int width à = screenResolution.x * 1 (ou * nothing), au lieu de * 3 / 4. Cela élargira le rectangle de cadrage pour qu'il soit aussi large que la résolution de l'écran, mais pas plus large que MAX_FRAME_WIDTH spécifié ci-dessus (il sera serré si le MFW est inférieur).

Enfin, SCAN!

Je ne crois pas avoir modifié d'autres variables, mais si je trouve que je l'ai fait pour que cela fonctionne, je mettrai à jour cette réponse.

 1
Author: Ryan K, 2012-05-30 13:28:04