使用CIFilters处理视频的示例iOS项目?

时间:2014-03-26 14:46:20

标签: ios objective-c cifilter

Core Image过滤器的iOS实现包括一类过滤器CICategoryVideo,可以用来处理实时视频流。这意味着有一个工作流程足够快,可以拍摄一帧视频,对其应用一个或多个过滤器,然后传递结果帧以进行显示/保存。

是否有人知道示例项目是如何完成的?到目前为止我用CIFilter做的就是将UIImage转换为CIImage,用CIFilter处理它,然后将其转换回UIImage进行显示。

我假设要在视频处理流中使用CI过滤器,您必须使用Core Video pixelBuffers,将它们映射到CIImages,处理它们,然后将结果映射回像素缓冲区。我已经用OpenGL完成了那种类型的处理,甚至将视频帧转换为CIImages用于视频流中的人脸检测,但是不知道如何将CIFilter的输出快速地恢复到pixelBuffer以便跟上视频的帧率。

1 个答案:

答案 0 :(得分:0)

这个项目正是你所描述的, 使用CICategoryVideo:

https://developer.apple.com/library/content/samplecode/CIFunHouse/Introduction/Intro.html

  

CIFunHouse项目展示了如何将内置的Core Image和自定义CIFilter应用于照片和视频。该应用程序提供视图控制器,用于添加照片和视频源,从列表中选择CIF过滤器,以及对过滤器参数进行实时调整。该项目还包含用于自定义CIFilter子类的代码,例如Sobel边缘检测,旧式电影和伪景深外观。该代码还演示了如何将过滤后的视频流保存到ALAssetsLibrary,同时在显示器上预览视频。

对不起,答案迟了3年。