我正在尝试使用可可从网络摄像头获取图像。我能够使用QTKit和didOutputVideoFrame委托调用以RGBA格式获取图像,并将CVImageBuffer转换为CIImage,然后转换为NSBitmapImageRep。我知道我的相机在YUV本地抓取,我想要的是直接从CVImageBuffer获取YUV数据,并在显示YUV帧之前进行处理。如何从CVImageBuffer对象中获取原始数据
我的问题是:如何从CVImageBuffer获取YUV数据?
谢谢。
我正在尝试使用可可从网络摄像头获取图像。我能够使用QTKit和didOutputVideoFrame委托调用以RGBA格式获取图像,并将CVImageBuffer转换为CIImage,然后转换为NSBitmapImageRep。我知道我的相机在YUV本地抓取,我想要的是直接从CVImageBuffer获取YUV数据,并在显示YUV帧之前进行处理。如何从CVImageBuffer对象中获取原始数据
我的问题是:如何从CVImageBuffer获取YUV数据?
谢谢。
您可以使用+[CIImage imageWithCVBuffer:]
从缓冲区创建CIImage
,然后将该CIImage渲染为所需像素格式的CGBitmapContext
。
请注意,我没有测试过这个解决方案。
我问什么,我认为是一个不同的问题,但它竟然具有相同的答案,因为这一个:raw data from CVImageBuffer without rendering?
我会尽力了这一点... – jslap 2010-05-14 23:56:50
CIImage可以直接抢CVBuffer。甚至不需要锁定基地址 – 2015-01-11 14:54:35
@Barry Wark有什么建议? http://stackoverflow.com/questions/37611593/how-to-create-cvpixelbufferref-with-nv12-data – 2016-06-07 12:30:58