3

玩弄AVCapureSessions并尝试以CMSampleBufferRef不同的方式显示输出(使用 a AVCaptureVideoPreviewLayer,显示 aCGImage并将其转换为 a UIImage),我还查看了您可以为您设置的所有不同质量预设AVCaptureSession
然后我注意到两者之间的质量差异

  • AVCaptureSessionPresetLow,
  • AVCaptureSessionPresetMedium
  • AVCaptureSessionPresetHigh

不仅是图像的分辨率,还有它们的纵横比,最显着的是整体图像质量。在我的具体情况下,使用的框架AVCaptureSessionPresetLow/Medium比使用AVCaptureSessionPresetHigh. 为什么是这样?

要设置会话并显示我使用此代码的图像:http ://www.benjaminloulier.com/posts/ios4-and-direct-access-to-the-camera

要设置预设:

[self.captureSession setSessionPreset:AVCaptureSessionPresetHigh];

这里有两个例子MediumHigh质量:

AVCaptureSessionPresetMedium AVCaptureSessionPresetHigh

我向你保证,这两张截图是在相同的地点、相同的时间和相同的光照条件下拍摄的。

4

1 回答 1

1

差异是由这些预设的用途引起的。虽然AVCaptureSessionPresetHigh主要用于制作视频,但AVCaptureSessionPresetLow/Medium也可能用于创建照片,因为它们具有与AVCaptureSessionPresetPhoto预设相同的行为。您可以尝试使用默认的相机应用。

于 2014-12-04T23:55:22.647 回答