0

我想创建一个应用程序,单击IBAction按钮后应显示来自实时摄像头的当前帧UIImageView。使用这种方法:https
://developer.apple.com/library/ios/qa/qa1702/_index.html 我想在功能中创建IBAction功能。这一个确切地说:

- (void)captureOutput:(AVCaptureOutput *)captureOutput

不幸的是,经过十几次尝试,我做不到。

总结:如何创建一个函数(void),其中包含 UIImage表单中的图像并将其保存到情节提要中的对象?

我会很感激任何帮助。问候。

4

1 回答 1

0

使用此方法从AVCaptureSession where stillImageOutputis捕获静止图像AVCaptureStillImageOutput

[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
{
    CVImageBufferRef imageBuffer =CMSampleBufferGetImageBuffer(imageSampleBuffer);
    CIImage *ciImage = [CIImage imageWithCVPixelBuffer:imageBuffer];
    CIContext *temporaryContext = [CIContext contextWithOptions:nil];
    CGImageRef videoImage =[temporaryContext
        createCGImage:ciImage
        fromRect:CGRectMake(
            0, 0,
            CVPixelBufferGetWidth(imageBuffer),
            CVPixelBufferGetHeight(imageBuffer)
        )];
    UIImage *image = [[UIImage alloc] initWithCGImage:videoImage];
    self.imageView.image = image;
}
于 2017-07-04T07:32:19.110 回答