我正在尝试选择一个库来创建可以过滤视频的应用程序,例如美化或增加清晰度。
在我的搜索中,我找到了两个候选:OpenCv和FFmpeg,并且我只找到了适用于FFmpeg的完整框架(所以这方面+1)。
我没有找到完整的比较,如果有人尝试过它们并且可以发布答案,那将非常有帮助。
编辑:
另一个候选是Marvin框架(Java项目)适用于Android - https://code.google.com/p/android-image-filtering/
我正在尝试选择一个库来创建可以过滤视频的应用程序,例如美化或增加清晰度。
在我的搜索中,我找到了两个候选:OpenCv和FFmpeg,并且我只找到了适用于FFmpeg的完整框架(所以这方面+1)。
我没有找到完整的比较,如果有人尝试过它们并且可以发布答案,那将非常有帮助。
编辑:
另一个候选是Marvin框架(Java项目)适用于Android - https://code.google.com/p/android-image-filtering/
OpenCV 是一个计算机视觉框架,但它的功能相对有限,因为大部分酷炫的滤镜需要你自己编写。尽管如此,它提供了一些技术来模糊图像、改变对比度、转换为灰度、翻转、裁剪、阈值化、腐蚀、膨胀、调整大小、旋转、隔离颜色、合成和其他一些功能。只是为了让你了解如何实现滤镜,我最近使用 OpenCV 实现了一个 位移映射滤镜。
FFmpeg 也有一些 滤镜, 但它旨在成为跨平台的解决方案,用于记录、转换和流式传输音频和视频,这意味着它并没有提供太多的滤镜效果。
然而,这两个 API 都可以在 Android 上读取视频(从文件和摄像头流)并提供访问视频帧的权限,因此你可以执行自定义滤镜。
我相信能够帮助您将大量滤镜应用于您的应用程序的技术是ImageMagick。请注意,ImageMagick无法处理视频,因此您可以使用Android的本机API、OpenCV或FFmpeg来处理此部分。以下是使用ImageMagick从命令行、程序接口或脚本处理图像的几个示例:有一个非常实用的OpenGL ES 2.0库,可用于iOS视频处理,具有许多滤镜。
Android版本的封装在这里: Android的GPUImage Wrapper
GPUImage框架是一个BSD许可的iOS库,可让您将GPU加速的滤镜和其他效果应用于图像、实时相机视频和电影。与Core Image(iOS 5.0的一部分)相比,GPUImage允许您编写自己的自定义滤镜,支持部署到iOS 4.0,并具有更简单的界面。但是,它目前缺少Core Image的一些更高级功能,例如面部检测。