OpenCV 3.0 Released - Computer Vision For The Rest Of Us
Written by Mike James   
Thursday, 11 June 2015

Open CV has become the workhorse of day-to-day computer vision. Yes things have moved on to the point were computer vision can be a very ordinary task for programmers who aren't AI experts. The release of Open CV 3.0 is therefore an important event. 

If you want to include a computer vision algorithm, edge finding, face detection, object tracking, etc. in you application then you could start from scratch, read all the book and papers on the subject and implement your own version of "standard" algorithms. Or you could simply down load the open source Open CV. Once this had a reputation for being difficult to use and under documented but it has got a lot better in recent times and version 3.0, which has just been announced is even more capable.

It has more than 2500 algorithms that you can use in your projects. It can be used from C++,C, Java, Python and new in this version Matlab. It runs under Windows, Android and Mac OS. It automatically takes advantage of vectorized hardware operations using MMX and SSE if they are available. ARM hardware support has also been improved:

 

  • There is also new OpenCV HAL layer that will simplifies creation of NEON-optimized code and that should form a base for the open-source and proprietary OpenCV accelerators.

 

GPUs can also speed things up with the help of CUDA and OpenCL but these interfaces are still a work in progress. There are however a number of automatic speedups that work if a GPU is available:

 

  • T-API (transparent API) has been introduced, this is transparent GPU acceleration layer using OpenCL. It does not add any compile-time or runtime dependency of OpenCL. When OpenCL is available, it’s detected and used, but it can be disabled at compile time or at runtime. It covers ~100 OpenCV functions. This work has been done by contract and with generous support from AMD and Intel companies.

 

It seems that we owe a lot of the new functionality not only to AMD and Intel but to Google via Summer of Code - so now you know what all those interns were doing:

 

  • text detection
  • many computational photography algorithms (HDR, inpainting, edge-aware filters, superpixels, …)
  • tracking and optical flow algorithms
  • new features, including line descriptors, KAZE/AKAZE
  • general use optimization (hill climbing, linear programming)
  • greatly improved Python support, including Python 3.0 support, many new tutorials & samples on how to use OpenCV with Python.
  • 2d shape matching module and 3d surface matching module
  • RGB-D module
  • VTK-based 3D visualization module

From the general open source community we also have:

 

  • biologically inspired vision module
  • DAISY features, LATCH descriptor, improved BRIEF
  • image registration module

 

There are also many speedups and cleanups in many of the functions and APIs. A lot of new tests have been implemented making the new library more robust and more suitable for pushing on to version 4.0.

The Open CV project really is an example of open source pushing forward progress in a difficult subject area. Without it we would have to use close source libraries with apparently proprietary algorithms that gave little idea how they worked. Open CV is responsible for a lot of progress in robotics, computational photography, medical image processing and more - you can even use it with Raspberry Pi projects.

More Information

OpenCV 3

Related Articles

Practical OpenCV       

Dismantle That 3D Printer - Build An Air Hockey Robot Instead!       

Nao Learns to Draw       

Militarizing Your Backyard with Python and AI    

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


52nd Mersenne Prime Found
27/10/2024

It has been nearly six years since the last Mersenne prime was discovered. Now, at last, we have Mersenne prime number 52 and it has 41,024,320 digits!



Microsoft Introduces Unified .NET API For AI
14/10/2024

Microsoft has introduced new libraries for integrating AI services into .NET applications and libraries, along with middleware for adding key capabilities.


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

 

 

 

 

 

 

 

Last Updated ( Thursday, 11 June 2015 )