【问题标题】:Capturing iPhone camera data as never compressed捕获从未压缩过的 iPhone 相机数据
【发布时间】:2012-08-25 06:18:39
【问题描述】:

谁能告诉我是否可以从 iPhone 上的摄像头捕获从未压缩过的数据?

我知道使用 AVFoundation 框架可以将密钥 kCVPixelBufferPixelFormatTypeKey 指定为 kCVPixelFormatType_32BGRA,我已经这样做了,但是在检查结果文件时,在我看来这只是告诉框架以 BGRA 格式存储帧数据缓冲区而不是 JPEG 格式。看起来实际数据来自指定的压缩类型,并且只是已解压缩到缓冲区中的 JPEG 数据。当我拍摄文本文档时,字符周围会出现 JPEG 伪影。谁能告诉我是否有办法将非压缩设置指定为压缩类型,或者是否有其他方法可以访问从未经过有损压缩过程的直接相机输出?

【问题讨论】:

  • 我不知道我在使用我这里的代码抓取图像缓冲区时看到过这样的伪影:stackoverflow.com/a/11615472/19679。在将相机帧拉为 YUV 时,您是否仍然看到这些伪影? YUV 4:2:2 帧的原始输出确实损失了一点保真度,但我们无法访问原始数据来进行我们自己的拜耳插值,所以这是我们能达到的最佳效果。

标签: ios camera compression avfoundation


【解决方案1】:

是的,这是可能的,而且它是以你看起来正在做的方式完成的(正如 Brad Larson 在他的评论中所描述的那样)。

相关数据尚未压缩。但是,这并不意味着它一定是一流的。

您看到的“伪像”很可能是传感器噪声(iPhone 摄像头传感器很小,并且在最好的情况下往往会产生噪声,ISO 越高,噪声越快!)。另外,虽然图像没有经过压缩,但原始 RAW 数据经过了拜尔插值以及白平衡调整、ISO 放大(如果需要)和,看起来,一定程度的锐化。

【讨论】:

    猜你喜欢
    • 2011-07-26
    • 2020-12-11
    • 2018-07-10
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多