AVCapturePhotoOutput 颜色与预览层不同
Posted
技术标签:
【中文标题】AVCapturePhotoOutput 颜色与预览层不同【英文标题】:AVCapturePhotoOutput color different than preview layer 【发布时间】:2017-10-04 21:13:36 【问题描述】:捕获图像时,输出图像的颜色与我在预览图层上看到的颜色不同。由于某种原因,颜色略有变化。有没有人遇到过这个问题?我该如何解决这个问题?
当我从didFinishProcessingPhotoSampleBuffer
获取图像时,绿色有点暗
【问题讨论】:
【参考方案1】:阅读AVCapturePhotoOutput的官方文档我发现了这个:
AVCapturePhotoOutput 类隐式支持广色域彩色摄影。如果源 AVCaptureDevice 对象的 activeColorSpace 值为 P3_D65,则捕获输出会生成具有广色域信息的照片(除非您的 AVCapturePhotoSettings 对象指定的输出格式是不支持广色域)。
还有activeColorSpace:
默认情况下,捕获会话会自动为支持的设备和捕获工作流启用广色域捕获...
所以也许你的设备默认支持它,这就是为什么在输出中你会看到不同颜色的图像。尝试更改activeColorSpace
看看是否会有所不同。
【讨论】:
以上是关于AVCapturePhotoOutput 颜色与预览层不同的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS10 中使用 AVCapturePhotoOutput - NSGenericException
使用 AVCapturePhotoOutput 使用闪光灯拍照时出现问题
无法仅获取在 Swift 中显示相机(AVCapturePhotoOutput)的 UIView 的屏幕截图
为啥在 AVCapturePhotoOutput 上调用 .capturePhoto(with:,delegate:) 会导致崩溃