Categories: Uncategorized

Guide for beginners: What is OpenCV?

OpenCV (Open Source Computer Library) is an open source library for computer vision and machine learning software. OpenCV was developed to provide a common infrastructure for computer vision applications like 3D configurators and to accelerate the use of machine perception in commercial products. As a BSD-licensed product, OpenCV makes it easy for companies to use and modify the code.

The library features more than 2,500 optimized algorithms that include a comprehensive set of classic and modern computer vision and machine learning algorithms. These algorithms can be used to recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, generate 3D point clouds from stereo cameras, merge images, to create a high-resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken with flash, follow eye movements, detect scenarios, and set markers to overlay them with augmented reality. OpenCV has more than 47,000 users and estimates the number of downloads at over 14 million. The library is used extensively by companies, research groups and government agencies.

In addition to established companies such as Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda or Toyota that use the library, there are many startups such as Applied Minds, VideoSurf and Zeitera that access OpenCV intensively. OpenCV’s applications range from compiling Streetview images, detecting break-ins in surveillance videos in Israel, monitoring mining equipment in China, navigating and picking up objects in the Willow Garage, detecting drowning accidents in Europe, operating interactive art in Spain and New York, inspecting runways in Turkey, inspecting labels on products in factories around the world, and quickly recognizing faces in Japan.

It features C++, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS. OpenCV mainly tends towards real-time vision applications and takes advantage of MMX and SSE statements when available. A fully-fledged CUDA and OpenCL interface is currently under active development. There are over 500 algorithms and about 10 times as many functions that compose or support these algorithms. OpenCV is natively written in C++ and has a predefined interface that works seamlessly with STL containers.

Thank you very much for your visit.

3DMaster