视频处理和过滤库
Posted
技术标签:
【中文标题】视频处理和过滤库【英文标题】:Video processing and filtering libraries 【发布时间】:2013-11-06 07:09:12 【问题描述】:我正在尝试决定选择哪个库来创建可以 过滤视频,例如美化或清晰度。
在我的搜索过程中,我遇到了 2 个候选者:OpenCv 和 FFmpeg,我找到了一个仅适用于 FFmpeg 的完整框架(所以 +1)。
我找不到两者之间的完整比较,所以如果有人尝试过并且可以发布答案,那将非常有帮助。
编辑:
另一个候选者是适用于 android 的 Marvin 框架(Java 项目) - https://code.google.com/p/android-image-filtering/
【问题讨论】:
您好,我对您在该领域的成就非常感兴趣。如果您与我联系 whoose.daddy@gmail.com,您会非常帮助我 【参考方案1】:OpenCV 是一个计算机视觉框架,它对你的需求非常有限,因为它需要你自己编写大部分很酷的过滤器。 尽管如此,它提供了一些技术来模糊图像、更改对比度、转换为灰度、翻转、裁剪、阈值、腐蚀、扩张、调整大小、旋转、隔离颜色、合成和其他一些东西。为了让您了解如何实现过滤器,我最近实现了一个Displacement Map Filter using OpenCV。
FFmpeg has a fewfilters as well,但它是一个跨平台的解决方案,用于录制、转换和流式传输音频和视频,这意味着它并没有真正提供很多滤镜效果。
不过,这两个 API 都可以在 Android 上读取视频(文件和来自摄像头的流),并提供对视频帧的访问,以便您执行自定义过滤器。
我相信能够真正帮助您将大量过滤器集合到您的应用程序中的技术是ImageMagick。请注意,ImageMagick 不处理视频,因此您可以使用 Android 的原生 API、OpenCV 或 FFmpeg 来处理这部分内容。 Here are a few examples 您可以在命令行、程序界面或脚本中使用 ImageMagick 对图像执行哪些操作:
【讨论】:
感谢您的评论,顺便说一句 - 我决定不使用任何一个,因为 FFmpeg 使用 GPL 许可证,还有 OpenCV,因为它使用 FFmpeg 进行视频处理。【参考方案2】:有一个非常有用的用于视频处理的 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,并具有更简单的界面。但是,它目前缺少 Core Image 的一些更高级的功能,例如面部检测。
【讨论】:
目前,android-gpuimage 中的视频支持存在缺陷github.com/CyberAgent/android-gpuimage/issues/20github.com/CyberAgent/android-gpuimage/issues/29以上是关于视频处理和过滤库的主要内容,如果未能解决你的问题,请参考以下文章
UEditor插入视频,Object Iframe等标签被过滤问题处理