Zbar не сканирует маленькие штрих-коды на iPod Touch. Почему? - PullRequest
0 голосов
/ 21 ноября 2011

У меня проблемы с чтением небольших QR-кодов с ZBar с помощью ipod. Кажется, я не могу заставить его сканировать в кодах 7мм х 7мм. Это проблема конфигурации или ограничение библиотеки ZBar? Я могу сканировать эти коды с помощью других приложений, таких как pic2shop.

Итак, пожалуйста, скажите мне, где я ошибаюсь. Спасибо.

ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;

[reader.scanner setSymbology:  ZBAR_I25
                      config:  ZBAR_CFG_ENABLE
                          to: 0];

reader.showsZBarControls=NO;

reader.cameraOverlayView.frame=CGRectMake(0, 0, 320, 460);
reader.readerView.allowsPinchZoom = YES;
//reader.readerView.alpha=1.0;
reader.readerView.backgroundColor=[UIColor clearColor];

reader.wantsFullScreenLayout = YES;
reader.readerView.zoom=1.0;
[reader.readerView setScanCrop:(CGRect){ { 0.125, 0 }, { 0.75, 1} }];
[self.view addSubview:reader.view];

ZBarCaptureReader *cap=[[ZBarCaptureReader alloc]init];
cap.scanCrop=CGRectMake(10, 20, 100, 460);  
[self presentModalViewController: reader animated: YES];
[reader release];

1 Ответ

0 голосов
/ 06 августа 2013

2 года спустя = Есть проблемы с результирующим размером изображения, с которым Z Bar может работать. В частности, согласно документации, вам нужно минимум 3 пикселя на модуль (черная или белая полоса), поэтому размер изображения должен быть больше для правильного сканирования. У меня была эта проблема в моем iPad 2, которая может считывать штрих-код с помощью передней камеры, но не может читать его с задней камеры (которая также производит зернистые фотографии, это противоречит опубликованным спецификациям камеры для iPad 2, в которых указана задняя камера) как лучший из 2 - я считаю, что спецификации были переключены в определенный момент времени). С большими QR-кодами мне нужен iPhone 4S или iPhone 5 для правильного сканирования, и качество видео должно быть установлено на высокое значение от VGA по умолчанию.

Для устранения проблемы выше:

Сначала я бы попытался удалить строку setScancrop и сначала начать с настройки по умолчанию (во весь экран) и захватить как можно больше штрих-кода. В частности, значения CGRect относятся к оригиналу (x, y) и размеру (ширине, длине). Я понимаю, что указание {0,0}, {1.1} по умолчанию для полноэкранного режима ((0,0), (320,480)) для iPhone 4GS, 4. 4s и старого iTouch gen 3-4.

Следующая вещь, которую я попробую, - это использовать класс ZBarReaderView, который делает снимки, сделанные вручную, с более высоким разрешением, чем другой класс, который получает изображения из видеопотока. соответствующие параметры в этом случае - maxscansize, zoom, max zoom, которые активны в этом режиме, но не в другом классе.

...