Бесплатный SDK для сканирования штрих-кода (формат code 39) в iOS

Я хочу отсканировать штрих-код VIN в формате Code 39 с помощью камеры iphone/ipad. Я пробовал zxing и zbar, но они не работают. В большинстве случаев они не могут распознать штрих-код. Может ли кто-нибудь показать мне лучший способ сделать это? или я могу что-нибудь сделать, чтобы увеличить результат, потому что мне нужно только сканирование кода 39 (для VIN автомобиля).


person Mimi    schedule 05.07.2012    source источник
comment
мой ответ решил вашу проблему?   -  person Jeremie D    schedule 21.01.2014


Ответы (1)


используйте Zbar для достижения этой цели. Чтобы получить достаточное разрешение для сканирования, вам нужно сканировать штрих-код в ландшафтном режиме. Вот мои настройки (проверено и работает)

// 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];

Это должно в значительной степени сделать это! Удачи!

Правка/Примечание. Платформа iOS теперь включает сканер штрих-кода, начиная с iOS 7. Я использовал эту реализацию, чтобы получить лучшие и простые результаты, чем при использовании Zbar.

person Jeremie D    schedule 06.01.2014
comment
Привет, я использую тот же код, но он у меня не работает, не могли бы вы мне помочь? - person Ravi; 19.04.2014
comment
конечно, можете ли вы разместить ссылку на свой код, описать, какую версию xcode вы используете, устройство и версию zbar? Я собираюсь сделать снимок в темноте и предположить, что вы используете неправильную версию zbar для iOS. если вы используете ios, используйте эту версию: nerdvision.net/app-development/ios /zbar-SDK - person Jeremie D; 20.04.2014
comment
@Ravan, вы также можете использовать эту версию, если nerdvision не работает: (я также создал для iphone 5, sim и т. д. db.tt /SBiNwrmZ - person Jeremie D; 03.07.2014
comment
Я столкнулся с проблемой увеличения памяти более чем на 100 МБ после некоторых сканирований. db.tt/SBiNwrmZ не работает, nerdvision.net/app-development/ios/zbar-sdk помог мне. - person M.Y.; 05.09.2014
comment
@МОЙ. спасибо за ваш комментарий, я обновил файлы соответственно. - person Jeremie D; 06.09.2014
comment
@Jeremie Он не определяет номер vin, и я думаю, что он преобразуется в номер 2D-штрих-кода, верно? Прокомментируйте, пожалуйста. - person Nikunj Jadav; 28.04.2015