【问题标题】:ZBar API Embedded Scanner Blur issueZBar API 嵌入式扫描仪模糊问题
【发布时间】:2012-09-04 06:37:00
【问题描述】:

我在我的一个项目(iOS SDK 5.1、XCode 4.4.1 和运行 iOS 5.5.1 的设备)中使用 ZBar iPhone SDK。我正在使用 SDK 本身提供的示例中的嵌入式扫描仪。

现在我面临的问题是我成功扫描了条形码并移动到另一个视图控制器(使用导航控制器)。当我回来(弹出第二个视图控制器)扫描仪,即 ZBarReaderView 不扫描后续条形码时,实际上覆盖显示扫描条形码的模糊图像并且永远无法扫描它正确。

这就是我已经实现的。在BarScannerViewController.h我已经声明了

ZBarReaderView*             readerView;

有属性

@property (nonatomic , retain)    IBOutlet UIImageView* imgvScannedBarCode;

现在这已连接到 xib 中的视图之一。

最后我使用设置所需的方法如下 -

- (void)viewDidLoad {
    [super viewDidLoad];

    // the delegate receives decode results
    readerView.readerDelegate = self;
    [readerView start];
}


- (void) viewDidAppear: (BOOL) animated {
    // run the reader when the view is visible
    [activityIndicatorScanning startAnimating];
    [readerView start];
}

- (void) viewWillDisappear: (BOOL) animated {
    [activityIndicatorScanning stopAnimating];
    [readerView stop];
}

当我第一次扫描任何条码时,说 EAN123

- (void) readerView: (ZBarReaderView*) view
     didReadSymbols: (ZBarSymbolSet*) syms
          fromImage: (UIImage*) img
{
    // do something useful with results
    ZBarSymbol *symbol = nil;
    for(symbol in syms) {
        barCodeFound = YES;
        break;
    }
    // EXAMPLE: do something useful with the barcode data
    NSLog(@"%@",symbol.data);
}

但在随后的运行中(在我推送视图并再次返回此屏幕后)我的视图变得模糊。

我在这里遗漏了什么吗?任何帮助/建议/评论都会有所帮助。

【问题讨论】:

  • 模糊的图像会移动吗?看起来相机源被冻结了,可能是因为扫描仪在第二次调用时没有成功重新启动。如果这一切看起来很明显,我们深表歉意。
  • 否 相机输入即使在第二次运行时也能正常工作,但不知何故无法聚焦和解码后续扫描的代码。与第一次扫描不同,我看不到清晰的提要,也没有解码新代码
  • 这很奇怪......我会发布我的代码。

标签: iphone ios5 barcode-scanner zbar-sdk


【解决方案1】:

这是我用来启动(并不断重启)扫描仪的代码。有趣的是,我注意到我从不停止扫描,但它的工作非常可靠。

- (void) startScan
{
    ZBarReaderViewController *reader = [ZBarReaderViewController new];

    reader.readerDelegate = self;

    ZBarImageScanner *scanner = reader.scanner;

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

    // present and release the controller
    [self presentViewController:reader animated:YES completion:nil]; // Modal
    [reader release];
}

【讨论】:

  • 我正在使用嵌入式视图,即 ZBar SDK 示例中提供的 ZBarReaderView。
【解决方案2】:

我可以通过在我的项目中重新配置 SDK 来解决模糊问题。我按照 ZBarSDk 上提供的嵌入式扫描仪示例进行操作。我想我之前配置时可能错过了一些基本设置。

【讨论】:

  • 基本设置请详细说明你的答案,因为当实时条形码尺寸太小时我也面临同样的问题。
  • 我所说的基本设置意味着我删除了所有引用,清理了所有构建,然后按照自述文件中的说明重新集成了 sdk,并按照 ZBarSDk 中提供的示例进行操作。在您的评论中,我发现如果它是小型条形码而不是 ZBarSDK 本身的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
相关资源
最近更新 更多