Video Processing and Filtering Libraries

I'm trying to decide which library to choose in order to create an application that can filter the video, for example, decoration or clarity.

During my search, I came across 2 candidates: OpenCv and FFmpeg, and I found the full framework only for FFmpeg (therefore +1 for this).

I could not find a complete comparison between the two, so if someone tried them and could post an answer, that would be very helpful.

Edit:

Another candidate is the Marvin project (Java project) for Android - https://code.google.com/p/android-image-filtering/

+6
source share
2 answers

OpenCV is the foundation for Computer Vision, and it is very limited in what you need, because it requires you to write most of the cool filters yourself. However, it does provide several methods for blurring images, changing contrast, grayscale, flip, cropping, threshold, blurring, expanding, resizing, rotating, highlighting, composition, and more. Just because you have an idea on how to implement filters, I recently implemented a Map Offset Filter using OpenCV .

FFmpeg has several filters as well , but that does mean that it is a cross-platform solution for recording, converting and streaming audio and video, which means that in reality it does not offer many filtering effects.

However, both APIs can read video (files and stream from the camera) on Android and provide access to video frames so you can perform your own filters.

I believe that a technology that can really help you bring a large collection of filters to your application is ImageMagick . Please note that ImageMagick does not process video, so you can use the native API for Android, OpenCV or FFmpeg for this part. Here are some examples of what you can do with an image using ImageMagick from a command line, program interface, or script:

BQPmq.jpg

+3
source

there is a very useful OpenGL ES 2.0 library for video processing with many filters for ios

GPUImage for iOS

android shell is here: GPUImage Wrapper for Android

The GPUImage Frame is a BSD licensed iOS library that allows you to apply GPU-accelerated filters and other effects to images, live video, and videos. Compared to Core Image (part of iOS 5.0), GPUImage allows you to write your own custom filters, supports deployment in iOS 4.0 and has a simpler interface. However, it currently lacks some of the more complex Core Image features, such as face detection.

+1
source

Source: https://habr.com/ru/post/956820/


All Articles