ios:为照片添加实时滤镜效果

时间:2011-08-20 14:21:42

标签: ios filter uiimagepickercontroller

我想编写一个拍摄照片的ios应用,但我想实时过滤照片预览。我的意思是在名为“CamWow”的应用程序中实现(这是应用程序的视频:http://www.youtube.com/watch?v=L_o-Bx08YZE)。我很好奇如何做到这一点。有没有人知道如何构建这样一个应用程序,提供照片的过滤实时预​​览并捕获过滤后的照片?

2 个答案:

答案 0 :(得分:4)

正如Fraggle所指出的,在iOS 5.0上,您可以使用Core Image框架进行图像过滤。但是,Core Image仅限于随框架提供的过滤器,我发现它是not able to process video in realtime in many cases

因此,我创建了我的BSD许可开源GPUImage框架,该框架封装了您对图像和视频进行GPU加速处理所需的OpenGL ES 2.0代码。我在this answer中有一些关于这种过滤的例子,您可以使用OpenGL着色语言轻松编写自己的自定义过滤器。框架中的示例应用程序显示了如何使用实时预览过滤图像,以及如何过滤并将其保存到磁盘。

答案 1 :(得分:1)

我正在寻找同样的信息(这是一个相当热门的行业,所以一些开发者可能不愿意放弃货物)。 I came across this,这可能不是你想要的,但可能很接近。它是一个处理实时视频源的分步教程。

修改:我已尝试过该链接中提供的代码。它可用于实时提供过滤器。我在ViewController.m中修改了captureOutput方法,注释掉了第二个过滤步骤(“CIMinimumCompositing”)并插入了我自己的过滤器(我使用了“CIColorMonochrome”)。

有效。我的前几次尝试都失败了,因为Core Image Filter引用中的所有过滤器都显然不适用于iOS。还有一些documentation here

不确定此代码是否是最佳性能,但确实有效。

编辑#2 :我在SOVEflow上看到了其他一些建议使用OpenGL进行处理的答案,而这个示例代码没有这样做。 OpenGL应该更快。