|OpenCV 4.0 Says Goodbye To C|
|Written by Harry Fairhead|
|Monday, 03 December 2018|
If you want to do computer vision and don't want to spend years developing the code from scratch, you probably need OpenCV. After a wait of nearly 4 years, OpenCV 4.0 has arrived.
OpenCV is the computer vision library that most of us turn to when we simply want to try out something without getting into fundamental research. It includes modules for standard image processing tasks such as filtering, warping, color space conversion and so on. The video module includes advanced techniques such as object tracking and background subtraction. You can take the modules and connect them together with your own code to make something new - this what open source is all about.
The latest version has moved over to C++11 and you need a C++11 compiler to make use of it. As the Release Highlights puts it:
A lot of C API from OpenCV 1.x has been removed.
This is understandable as C++ makes image processing much easier, but C is still used on a lot of smaller devices to get the best performance. The C++ interface can still be used from Python.
A lot of work has been done in improving the storing of data in XML, YAML or JSON in the core module and the C API has been removed. The deep learning module has been updated with the Deep Learning Deployment Toolkit from Intel's OpenVINO and it now has an experimental Vulkan backend.
Even though the Kinect is no more, OpenCV still supports the Kinect Fusion algorithm and it has been optimized for CPU and GPU using OpenCL.
One addition that might have more appeal than most is the new QR code detector and decoder. This will spot a QR code in an image and the decoder can then be used to decode it.
The biggest new feature is the G-API, a graph-based API that lets you put together image processing pipelines. You specify the operations as a graph and then the G-API will work out how to run it on a range of hardware configurations to maximize throughput. The only downside is that not all operators can be expressed as a graph and at the moment its pipelines are restricted to standard image processing options - filters, binary operations and geometric transformations.
Finally if you want to influence the future of OpenCV then complete the OpenCV 2018 survey.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Monday, 03 December 2018 )|