我正在尝试使用可可从网络摄像头中获取图像。我能够使用 QTKit 和 didOutputVideoFrame 委托调用获取 RGBA 格式的图像,并将 CVImageBuffer 转换为 CIImage,然后转换为 NSBitmapImageRep。
我知道我的相机在 YUV 中原生抓取,我想要的是直接从 CVImageBuffer 获取 YUV 数据,并在显示之前处理 YUV 帧。
我的问题是:如何从 CVImageBuffer 中获取 YUV 数据?
谢谢。
您可能可以使用CIImage
从缓冲区创建一个+[CIImage imageWithCVBuffer:]
CIImage,然后将该 CIImage 渲染为CGBitmapContext
所需的像素格式。
注意,我没有测试过这个解决方案。
我问了一个我认为是不同的问题,但结果却得到了与这个相同的答案:来自 CVImageBuffer 的原始数据没有渲染?