视频处理和过滤库

时间:2013-10-27 14:21:33

标签: android opencv ffmpeg video-processing marvin-framework

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

在我搜索期间,我遇到了两个候选人:OpenCv和FFmpeg,我找到了一个仅适用于FFmpeg的完整框架(所以+1为此)。

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

编辑:

另一个候选人是Android的{Marvin framework(Java项目) - https://code.google.com/p/android-image-filtering/

2 个答案:

答案 0 :(得分:5)

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

FFmpeg has a few filters as well,但它意味着是一个跨平台的解决方案来录制,转换和流式传输音频和视频,这意味着它并没有真正提供很多过滤效果。

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

我相信能够真正帮助您为应用程序带来大量过滤器的技术是ImageMagick。请注意,ImageMagick不处理视频,因此您可以在此部分使用Android的原生API,OpenCV或FFmpeg。使用命令行,程序界面或脚本中的ImageMagick对图像执行的操作的Here are a few examples

答案 1 :(得分:1)

有一个非常有用的OpenGL ES 2.0库用于视频处理,其中包含许多用于ios的过滤器

GPUImage for Ios

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

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