OpenCV (Open Source Computer Vision Library), is an open-source machine learning and computer vision software library. OpenCV was created to provide a common infrastructure to support computer vision applications and accelerate machine perception in commercial products. OpenCV is a BSD-licensed product that makes it easy to modify and use the code by businesses. The library contains more than 2500 optimized algorithms. This includes a comprehensive set both of classic and modern computer vision and machine-learning algorithms. These algorithms can be used for recognizing faces, identifying objects, tracking camera movements, classifying human actions in videos and producing 3D point clouds from stereo-cameras. They can also be used to stitch images together to create a high resolution image of the entire scene, find similar images from a database, remove red eyes from images taken with flash, recognize scenery, and follow eye movements.