我正在开发Iphone应用程序。
我需要执行以下操作:当用户点击“相机标签”时,相机会在视图内打开圆圈覆盖。
我想在相机上应用过滤算法。
我正在寻找最佳方法。有没有可以提供帮助的图书馆?
我目前在做什么:
OpenCV
图书馆。cvCaptureFromCam()
调用OpenCV
方法
框架(这将用相机捕捉图片并返回
它)。UIImageView
我的想法是,在每个计时器刻度线上,我得到图像,过滤它并将其放入UIImageView
。如果计时器滴答足够快,它将显示为连续。
然而cvCaptureFromCam
有点慢,整个过程占用了太多内存。
非常感谢任何有关更好方法的建议。感谢
答案 0 :(得分:2)
任何基于CPU限制处理的东西,例如OpenCV,对于当前iOS设备上的实时视频过滤来说可能太慢了。正如我在this answer中所述,我强烈建议您使用OpenGL ES。
正如CSmith所提到的,我编写了一个名为GPUImage的开源框架,用于执行这种基于GPU的过滤,而不必担心涉及的底层OpenGL ES。此框架中的大多数过滤器可以应用于640x480的实时视频,远远超过iOS相机的30 FPS帧速率。我一直在逐步添加过滤器,目标是替换Core Image中的所有内容,以及OpenCV的大多数图像处理功能。如果您需要OpenCV中缺少某些内容,请在项目的问题页面上告诉我。
构建并运行FilterShowcase示例应用程序,以查看可用过滤器的完整列表及其在实时视频源上的执行情况,并查看SimplePhotoFilter示例,了解如何应用这些过滤器来预览视频和照片。相机。