9

我正在尝试决定选择哪个库来创建可以过滤视频的应用程序,例如美化或清晰度。

在我的搜索过程中,我遇到了 2 个候选者:OpenCv 和 FFmpeg,并且我发现了一个仅适用于 FFmpeg 的完整框架(为此 +1)。

我找不到两者之间的完整比较,所以如果有人尝试过它们并且可以发布答案,那将非常有帮助。

编辑:

另一个候选人是适用于 Android 的 Marvin 框架(Java 项目) - https://code.google.com/p/android-image-filtering/

4

2 回答 2

5

OpenCV是一个计算机视觉框架,它对你的需求非常有限,因为它需要你自己编写大部分很酷的过滤器。然而,它提供了一些技术来模糊图像、改变对比度、转换为灰度、翻转、裁剪、阈值、腐蚀、扩张、调整大小、旋转、隔离颜色、合成和其他一些东西。为了让您了解如何实现过滤器,我最近使用 OpenCV 实现了置换贴图过滤器

FFmpeg也有一些 过滤器,但它旨在成为一个跨平台的解决方案来录制、转换和流式传输音频和视频,这意味着它并没有真正提供很多过滤器效果。

尽管如此,这两个 API 都可以在 Android 上读取视频(文件和来自相机的流)并提供对视频帧的访问,以便您可以执行自定义过滤器。

我相信真正可以帮助您将大量过滤器集合到您的应用程序的技术是ImageMagick。请注意,ImageMagick 不处理视频,因此您可以在这部分使用 Android 的原生 API、OpenCV 或 FFmpeg。以下是您可以从命令行、程序界面或脚本使用 ImageMagick 对图像执行哪些操作的几个示例:

于 2013-12-21T02:28:39.897 回答
1

有一个非常有用的用于视频处理的 OpenGL ES 2.0 库,带有许多适用于 ios 的过滤器

适用于 iOS 的 GPUImage

android 包装器在这里: GPUImage Wrapper for Android

GPUImage 框架是一个 BSD 许可的 iOS 库,可让您将 GPU 加速的滤镜和其他效果应用于图像、实时摄像机视频和电影。与 Core Image(iOS 5.0 的一部分)相比,GPUImage 允许您编写自己的自定义过滤器,支持部署到 iOS 4.0,并具有更简单的界面。但是,它目前缺少 Core Image 的一些更高级的功能,例如面部检测。

于 2014-12-17T09:29:33.810 回答