iOS相机编程 - 如何快速获取静止图像AVCaptureVideoDataOutput和AVCaptureStillImageOutput案例

时间:2013-05-14 03:26:27

标签: objective-c avcapturesession

我在AVCaptureVideoDataOutput和AVCaptureStillImageOutput的情况下获得了静止图像,但是当我使用captureStillImageAsynchronouslyFromConnection获取静态图像时花费了很多时间(2s),

当我使用AVCaptureStillImageOutput时,获取时间为0.5秒的静止图像。

如何在AVCaptureVideoDataOutput和AVCaptureStillImageOutput的情况下减少时间。

1 个答案:

答案 0 :(得分:3)

您从 AVCaptureVideoDataOutput 获得的照片是低质量照片,如果您想要与 AVCaptureStillImageOutput 拍摄的照片质量相同,不幸的是,你没有选择等待的时间。

如果不考虑图像质量,请尝试使用可用的光学效果更改会话预设,

 //----- SET THE IMAGE QUALITY / RESOLUTION -----
 //Options:
 // AVCaptureSessionPresetHigh - Highest recording quality (varies per device)
 // AVCaptureSessionPresetMedium - Suitable for WiFi sharing (actual values may change)
 // AVCaptureSessionPresetLow - Suitable for 3G sharing (actual values may change)
 // AVCaptureSessionPreset640x480 - 640x480 VGA (check its supported before setting it)
 // AVCaptureSessionPreset1280x720 - 1280x720 720p HD (check its supported before setting it)
 // AVCaptureSessionPresetPhoto - Full photo resolution (not supported for video output)

 NSLog(@"Setting image quality");
[CaptureSession setSessionPreset:AVCaptureSessionPresetMedium]; 

更改预设将导致不同的处理时间。