Desidero scansionare un codice a barre VIN, che nel formato Codice 39, utilizza la fotocamera di iphone/ipad. Ho provato zxing e zbar, ma non funzionano bene. La maggior parte del tempo non riescono a riconoscere il codice a barre. Qualcuno può mostrarmi un modo migliore per farlo? o c'è qualcosa che posso fare per aumentare il risultato, perché ho solo bisogno di scansione codice 39 (per auto VIN).SDK gratuito per scansione codice a barre (formato codice 39) in iOS
6
A
risposta
7
utilizzare Zbar per ottenere ciò. Per ottenere una risoluzione sufficiente per la scansione, è necessario eseguire la scansione del codice a barre in modalità orizzontale. Qui sono le mie impostazioni (testato & di lavoro)
// ADD: present a barcode reader that scans from the camera feed
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
reader.supportedOrientationsMask = ZBarOrientationMaskAll;
ZBarImageScanner *scanner = reader.scanner;
//disable other codes to improve performance
[scanner setSymbology: 0
config: ZBAR_CFG_ENABLE
to: 0];
[scanner setSymbology:ZBAR_CODE39 config:ZBAR_CFG_ENABLE to:1];
//only scan vertically, in the middle of the screen (also improves performance)
[reader setScanCrop:CGRectMake(0, 0.4, 1, 0.2)];
[reader setShowsZBarControls:NO];
[reader setShowsHelpOnFail:NO];
//VERY IMPORTANT: reset zoom. by default, the screen is partially zoomed in and will cause a loss of precision
reader.readerView.zoom = 1.0;
reader.readerView.allowsPinchZoom=NO;
reader.readerView.showsFPS=YES;
reader.readerView.tracksSymbols=YES;
//scan landscape only (this also improves performance)
[scanner setSymbology:ZBAR_CODE39 config:ZBAR_CFG_X_DENSITY to:0];
[scanner setSymbology:ZBAR_CODE39 config:ZBAR_CFG_Y_DENSITY to:1];
Questo dovrebbe più o meno farlo! In bocca al lupo!
Modifica/Nota: il quadro iOS ora include uno scanner di codici a barre a partire da iOS 7. Ho usato this implementation per ottenere risultati migliori e più facile che usare Zbar.
la risposta ha risolto il problema? – Jeremie