为相机的每一帧应用滤镜算法

我正在研究Iphone应用程序。

我需要执行以下操作:当用户单击“摄像机标签”时,摄像机将在带有圆形覆盖层的视图内打开。

我想在相机上应用滤镜算法。

我正在寻找最好的方法来做到这一点。 有没有可以帮助的图书馆?

目前我在做什么:

  • 我正在使用OpenCV库。
  • 我定义了一个计时器。
  • 对于每个计时器刻度,我从OpenCV框架调用cvCaptureFromCam()方法(这将使用相机捕获图片并将其返回)。
  • 我在捕获的图像上应用算法。
  • 我在UIImageView显示图像
  • 这个想法是,在每个计时器刻度上,我得到的图像,过滤它,并把它放在UIImageView 。 如果计时器计时器足够快,它将显示为连续的。

    然而, cvCaptureFromCam有点慢,整个过程需要太多的内存。

    任何建议更好的方式是非常感谢。 谢谢


    基于CPU绑定处理的任何事情,比如OpenCV,可能对于当前iOS设备上的实时视频过滤而言太慢。 正如我在这个答案中所述,我强烈建议寻找OpenGL ES。

    正如CSmith所提到的,我已经编写了一个名为GPUImage的开源框架,用于执行这种基于GPU的过滤风格,而不必担心涉及的底层OpenGL ES。 该框架中的大多数滤镜可以应用于640x480的实况视频,而且可以应用于iOS相机的30 FPS帧率以上。 我一直在逐渐添加过滤器,目标是替换Core Image中的所有内容,以及OpenCV的大部分图像处理功能。 如果我从OpenCV中找不到您需要的东西,请在项目的问题页面上告诉我。

    构建并运行FilterShowcase示例应用程序以查看可用过滤器的完整列表以及它们在实况视频源中的表现,并查看SimplePhotoFilter示例以了解如何应用这些过滤器来预览摄像机拍摄的视频和照片。

    链接地址: http://www.djcxy.com/p/68309.html

    上一篇: Apply a filter algorithm for each frame of the camera

    下一篇: How to use > in an xargs command?