倒置条形码阅读器Objective-C

时间:2016-03-27 07:12:05

标签: objective-c barcode

我正在使用AVCapture:Session,Device,DeviceInput,MetadataOutput和VideoPreviewLayer来扫描条形码。我在阅读倒置条形码(黑色背景上的白条)时遇到了一些麻烦。

我尝试通过从metadataObjects方法获取captureOutput中的字节并使用byte = ~byte来反转实际条形码数据的字节代码。由于metadataObject无法正确转换为NSData对象,因此效果不佳。 我希望这会反转条形码数据,但这是一团糟。

我只是不知道该怎么做,我是否必须通过过滤器传递图像然后解码数据或什么。

有人能指出我正确的方向吗?

_session = [[AVCaptureSession alloc] init];
_device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
NSError *error = nil;

_input = [AVCaptureDeviceInput deviceInputWithDevice:_device error:&error];
if (_input) {
    [_session addInput:_input];
} else {
    NSLog(@"Error: %@", error);
}

_output = [[AVCaptureMetadataOutput alloc] init];
[_output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
[_session addOutput:_output];


_output.metadataObjectTypes = [_output availableMetadataObjectTypes];

_prevLayer = [AVCaptureVideoPreviewLayer layerWithSession:_session];

_prevLayer.frame = self.view.bounds;
_prevLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
[self.view.layer addSublayer:_prevLayer];

[_session startRunning];

这是我初始化AVCaptureSessionAVCaptureDeviceAVCaptureDeviceInputAVCaptureMetadataOutputAVCaptureVideoPreviewLayer的方式。

我现在正在尝试将GPUImage框架实施到我的项目中,但是当我尝试导入主头文件时,我一直找到"GPUImage.h" file not

0 个答案:

没有答案