Opencv3

Version 3 (Sergey Sivolgin, 2014-08-20 05:31 pm) → Version 4/12 (Sergey Sivolgin, 2014-08-20 05:31 pm)

h1. Opencv3

h2. Transparent API

The transparent OpenCV API allows application developers to automatically utilize various kinds of accelerators (GPUs, APUs, DSPs etc.) that may be available on the host platform. No or little changes to OpenCV-based applications may be needed to engage the acceleration. Starting with OpenCV 3.0 OpenCL kernels were integrated inside OpenCV API: it does not need to specify cv::ocl::Canny, cv::gpu::Canny etc; cv::Canny just works on both CPU and GPU. Because of that ocl module became redundant and was removed.
More detail information on Transparent API please see (reference to “Transparent API Design” document).

h2. Intel® IPP


OpenCV 3.0 supports optimization on x86 and x64 platforms with Intel® Integrated Performance Primitives (Intel® IPP) by two ways: with standalone Intel® IPP that should be installed separately and with special subset of Intel® IPP 8.1.1 functions for image processing and computer vision, IPP-ICV libraries, that contain more than 700 functions and support AVX2, SSE4.x, SSE2 instructions sets. Intel Corporation granted OpenCV Foundation and all our users the right to use IPP-ICV libraries free of charge for both non-commercial and commercial use. Optimization with IPP-ICV is enabled by default on the supported platforms. Intel® IPP optimization (with both standalone and IPP-ICV libraries) is available for the following platforms:
* Windows (32-bit and 64-bit)
* Linux (32-bit and 64-bit)
* Mac OS (32-bit and 64-bit)
* Android (32-bit)

In OpenCV 3.0 Intel® IPP usage was revised and extended with new 58 family functions that should give visible performance improvement on all supported platforms and instructions sets. As an example, the overall performance gain is about 40% comparing OpenCV with and without Intel® IPP 8.1.1/IPP-ICV usage and running on Intel Haswell processor. Some of examples are on the chart below.

h3. Intel® IPP Asynchonous

OpenCV 3.0 includes support for Intel® IPP Asynchronous C/C++ library by implemented inline conversion functions between Intel® IPP Asynchronous objects (IPPhppMatrix) and OpenCV objects (cv::Mat). OpenCV tutorial contains an example demonstrating how to use conversion functions and work with Intel® IPP Asynchronous functions.

h2. opencv_contrib repository

h2. New Functionality

h3. Computational phography

h3. Bindings

h3. Tracking

h3. Etc.

...

h2. Migrating from OpenCV 2 to OpenCV 3.