我正在尝试使用 cocoa 从网络摄像头抓取图像。我可以使用 QTKit 和 didOutputVideoFrame 委托(delegate)调用获取 RGBA 格式的图像,并将 CVImageBuffer 转换为 CIImage,然后转换为 NSBitmapImageRep。
我知道我的相机本身是在 YUV 中抓取的,我想要的是直接从 CVImageBuffer 获取 YUV 数据,并在显示之前处理 YUV 帧。
我的问题是:如何从 CVImageBuffer 获取 YUV 数据?
谢谢。
最佳答案
您可以使用 +[CIImage imageWithCVBuffer:]
从缓冲区创建一个 CIImage
,然后将该 CIImage 渲染到 CGBitmapContext
所需的像素格式。
请注意,我尚未测试此解决方案。
关于cocoa - 如何从 CVImageBuffer 对象获取原始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2837383/