尝试AVCapureSessions
并尝试以不同的方式显示输出CMSampleBufferRef
的方法(使用AVCaptureVideoPreviewLayer
,显示CGImage
并将其转换为UIImage
),我还查看了可以为AVCaptureSession
设置的所有不同质量预设。
然后我注意到了两者之间的质量差异
AVCaptureSessionPresetLow
,AVCaptureSessionPresetMedium
和AVCaptureSessionPresetHigh
不仅是图像的分辨率,还包括它们的纵横比,最重要的是整体图像质量。在我的特定情况下,使用
AVCaptureSessionPresetLow/Medium
获得的帧比使用AVCaptureSessionPresetHigh
获得的帧要亮得多。为什么是这样?为了设置会话并显示图像,我使用了以下代码:http://www.benjaminloulier.com/posts/ios4-and-direct-access-to-the-camera
设置预设:
[self.captureSession setSessionPreset:AVCaptureSessionPresetHigh];
这是
Medium
和High
质量的两个示例:我向您保证,这两个屏幕截图是将相机指向相同的位置,相同的时间和相同的光照条件。
最佳答案
差异是由这些预设的目的引起的。尽管AVCaptureSessionPresetHigh
主要用于制作视频,但AVCaptureSessionPresetLow/Medium
也可以用于创建照片,因为它们的行为与AVCaptureSessionPresetPhoto
预设相同。您可以尝试使用默认的相机应用。
关于ios - 为什么AVCaptureSessionPresetHigh的图片如此暗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20934033/