根据this documentation,AVCaptureVideoDataOutput
应允许通过像素格式选项kCVPixelFormatType_128RGBAFloat
将图像捕获为float32 RGBA(总共128位)。
文档说明这可以从iOS 6开始,但它似乎不适用于iOS 9。
let output = AVCaptureVideoDataOutput()
var settings = [kCVPixelBufferPixelFormatTypeKey as NSString:kCVPixelFormatType_128RGBAFloat]
output.videoSettings = settings
output.alwaysDiscardsLateVideoFrames = true
返回
RGfA (1380410945) is not a supported pixel format type. See AVCaptureOutput.h for a list of supported formats. Available pixel format types on this platform are (
420v,
420f,
BGRA
).'
This site讨论了一种解决方法,但我无法让此代码在swift 2.0中正常运行。我有一个单独的帖子here尝试更正此代码。
有没有人设法让kCVPixelFormatType_128RGBAFloat
在iOS上工作?
答案 0 :(得分:0)
很可能是未来的格式,目前不受支持。 或者,即使在相机的情况下,它很可能是RGBA 8888表示,其缩放以适合[0..1]范围。
至少当前的相机传感器类型(根据规格表)不支持每通道8位以上作为输出数据。