J'ai beaucoup de succès avec zxing sur .NET et j'essaie d'obtenir la meilleure vitesse pour décoder les codes-barres QR (j'ai beaucoup à faire - 1,8M). Le code J'utilise (ainsi les bits de celui-ci):Optimisation de zxing.net Décodage QR
// Create Barcode decoder
BarcodeReader q = new BarcodeReader();
q.PossibleFormats = new List<BarcodeFormat>();
q.PossibleFormats.Add(BarcodeFormat.QR_CODE);
q.AutoRotate = true; // Not necessary for QR?
q.TryHarder = false;
// Decode result
Result[] r = q.DecodeMultiple(imageFile);
Mon code est un peu plus intelligent en ce qu'elle est dans une boucle et essaie plus difficile si elle ne trouve pas la première fois.
Existe-t-il un moyen d'ajouter une zone, un ROI ou une zone plus petite pour accélérer la détection?
D'autres recommandations pour améliorer les performances?
Ok. Je fais des images bitonales, donc il n'y a pas de RVB. Existe-t-il un moyen d'obtenir zxing.net pour limiter la région dans laquelle il regarde, plutôt que l'option coûteuse de créer une nouvelle bitmap de la région? –
Oui, vous pouvez utiliser la méthode crop qui réside dans les classes ... LuminanceSource. Cette méthode fonctionne mieux avec la source actuelle du tronc de référentiels car il existe une méthode Decode qui utilise directement une instance de LuminanceSource. Avec la version actuelle 0.11 de ZXing.Net, vous devez utiliser le BarcodeReader avec un propre délégué CreateLuminanceSource. – Michael
Pourquoi suggérez-vous d'éviter DecodeMultiple. Je travaille sur un projet où j'ai besoin de scanner plusieurs codes QR dans une image. – Ray