There has been some exciting news from OpenCV: OpenCV developer Vadim Pisarevsky announced the development on OpenCV 4 on the GitHub repository of OpenCV and addressed why the time is right for the release of OpenCV 4. OpenCV 3 was released in 2015 taking 6 years to come out after OpenCV 2 which was released in 2009.
OpenCV 3 has been built around C++ 98 standards. Re-writing the library in the recent version of C++ like C++ 11 or later versions would mean to break the “binary compatibility”. This makes it important to move further from the OpenCV 3 promises. There are two interesting concepts that we need to know here – Binary compatibility and source-level compatibility. OpenCV had made a promise to stay binary-compatible with versions, that means the release of new OpenCV versions will stay compatible with the previous version library calls. Now moving from C++ 98 standard to recent C++ standard will break this promise. However, OpenCV has looked into this and found that not much harm will be caused by this migration, hence relaxing the “binary compatibility” and moving to “source compatibility” with the new release.
Apart from migrating to latest C++ standards, the OpenCV library needs refactoring and new module additions for Deep learning and neural networks seeing the heavy usage of OpenCV in machine learning. OpenCV developers can expect some big revisions in functions and modules. Here is a quick summary of what you might expect in this major release of OpenCV 4.0:
- Hardware-accelerated Video I/O module: This module maximizes OpenCV performance using software and hardware accelerator in the machine. This means calling this module with OpenCV 4 will harness the acceleration.
- HighGUI module (Revised): With the enhancement of this module, you can efficiently read video from camera or files and also perform a write operation on them. This module comes with a lot of functionality for media IO operation.
- Graph API module: This module creates support for efficiently reading and writing graphs from the image.
- Point Cloud module: Point cloud module contains algorithms such as feature estimation, model fitting, and segmentation. These algorithms can be used for filtering noisy data, stitch 3D point clouds, segment part of the image, among others.
- Tracking, Calibration, and Stereo Modules, among other features that will benefit image processing with OpenCV.
You can find the full list of a new module that might get added in OpenCV 4 in the issues page of OpenCV repo.
The OpenCV community is relying on its huge developer community to facilitate closing the open issues within the speculated time of release, that is July 2018. Functionalities that don’t make it OpenCV 4 release, will be rolled into the OpenCV 4.x releases.