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:

source share