OpenCV is an open source library which provides a wide range of machine learning and computer vision algorithms. OpenCV original library is written in C++ but there are wrappers for other major programming languages, including Java (for android).
Since I use OpenCV quite often, I decided to dedicate a separate post and write a tutorial on how to add the library to an existing android application, developed in android studio.