Introduction To Computer Vision Using OpenCV (Preview)
Hey! You! Yes, you! :-) If you're interested in this article, you will almost certainly be interested in attending the Embedded Vision Summit, the preeminent conference on practical computer vision -- including OpenCV! It's coming up May 1-3, 2017 in Santa Clara. Click here for more information. You'll be glad you did. Really! Sincerely, your friends at the Embedded Vision Alliance.
The name OpenCV has become synonymous with computer vision, but what is OpenCV? OpenCV is a collection of software algorithms put together in a library to be used by industry and academia for computer vision applications and research. OpenCV started at Intel in the mid 1990s as a method to demonstrate how to accelerate certain algorithms in hardware. In 2000, Intel released OpenCV to the open source community as a beta version, followed by v1.0 in 2006. In 2008, Willow Garage took over support for OpenCV and immediately released v1.1.
Figure 1: OpenCV, an algorithm library (courtesy Willow Garage)
Willow Garage dates from 2006. The company has been in the news a lot lately, subsequent to the unveiling of its PR2 robot (Figure 2). Gary Bradski began working on OpenCV when he was at Intel; as a senior scientist at Willow Garage he aggressively continues his work on the library.
Figure 2: Willow Garage's PR2 robot
OpenCV v2.0, released in 2009, contained many improvements and upgrades. Initially, OpenCV was primarily a C library. The majority of algorithms were written in C, and the primary method of using the library was via a C API. OpenCV v2.0 migrated towards C++ and a C++ API. Subsequent versions of OpenCV added Python support, along with Windows, Linux, iOS and Android OS support, transforming OpenCV (currently at v2.3) into a cross-platform tool. OpenCV v2.3 contains more than 2500 algorithms; the original OpenCV only had 500. And to assure quality, many of the algorithms provide their own unit tests.
So, what can you do with OpenCV v2.3? Think of OpenCV as a box of 2500 different food items. The chef's job is to combine the food items into a meal. OpenCV in itself is not the full meal; it contains the pieces required to make a meal. But here's the good news; OpenCV includes a bunch of recipes to provide examples of what it can do.
Please also see the following additional OpenCV resources (for which site registration is also required for access):
- A video training session which covers some of the algorithms available in OpenCV, and is intended for programmers and non-programmers alike.
- The BDTI OpenCV Executable Demo Package, an easy-to-use software demo tool which allows anyone with a Windows computer and a web camera to experiment with some of the algorithms in OpenCV v2.3.
- The BDTI Quick-Start OpenCV Kit, a VMware virtual machine image that includes OpenCV and all required tools preinstalled, configured, and built, thereby making it easy to quickly get OpenCV running and to start developing vision algorithms using OpenCV, and
- An online user guide which describes the process of installing and using the BDTI Quick-Start OpenCV Kit.