我可以访问每一帧的CVPixelBufferRef
,并希望在渲染前对其应用ChromaKey
过滤器。
到目前为止,我能想到的唯一解决方案是首先将像素缓冲区转换为图像。这是我仅用于PoC的准系统解决方案。
var cgImage: CGImage?
VTCreateCGImageFromCVPixelBuffer(pixelBuffer, nil, &cgImage)
let image = UIImage.init(cgImage: cgImage!).filterWithOperation(filter!)
获得过滤后的图像后,将其传递到MTKView
进行绘制。
所以我的具体问题是,我可以避免将像素缓冲区转换为图像而仍然使用GPUImage2
作为过滤器吗?