视频处理和滤波库

9

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

在我的搜索中,我找到了两个候选:OpenCv和FFmpeg,并且我只找到了适用于FFmpeg的完整框架(所以这方面+1)。

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

编辑:

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


你好,我对你在这个领域的成就非常感兴趣。如果您能与我联系,将非常有帮助。我的电子邮件是:whoose.daddy@gmail.com。谢谢! - Hank Moody
2个回答

5

OpenCV 是一个计算机视觉框架,但它的功能相对有限,因为大部分酷炫的滤镜需要你自己编写。尽管如此,它提供了一些技术来模糊图像、改变对比度、转换为灰度、翻转、裁剪、阈值化、腐蚀、膨胀、调整大小、旋转、隔离颜色、合成和其他一些功能。只是为了让你了解如何实现滤镜,我最近使用 OpenCV 实现了一个 位移映射滤镜

FFmpeg 也有一些 滤镜, 但它旨在成为跨平台的解决方案,用于记录、转换和流式传输音频和视频,这意味着它并没有提供太多的滤镜效果。

然而,这两个 API 都可以在 Android 上读取视频(从文件和摄像头流)并提供访问视频帧的权限,因此你可以执行自定义滤镜。

我相信能够帮助您将大量滤镜应用于您的应用程序的技术是ImageMagick。请注意,ImageMagick无法处理视频,因此您可以使用Android的本机API、OpenCV或FFmpeg来处理此部分。以下是使用ImageMagick从命令行、程序接口或脚本处理图像的几个示例


2
顺便说一句,感谢您的评论 - 我决定不使用任何一个库,因为FFmpeg使用GPL许可证,而OpenCV则使用FFmpeg进行视频处理。 - Nativ

1

有一个非常实用的OpenGL ES 2.0库,可用于iOS视频处理,具有许多滤镜。

iOS的GPUImage

Android版本的封装在这里: Android的GPUImage Wrapper

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


2
目前来看,android-gpuimage 中的视频支持存在缺陷。 https://github.com/CyberAgent/android-gpuimage/issues/20 https://github.com/CyberAgent/android-gpuimage/issues/29 - snuk182

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接