Opencv3

Version 7 (Sergey Sivolgin, 2014-08-20 05:31 pm)

1 1
h1. Opencv3
2 1
3 2 Sergey Sivolgin
h2. Transparent API
4 3 Sergey Sivolgin
5 2 Sergey Sivolgin
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.
6 2 Sergey Sivolgin
More detail information on Transparent API please see (reference to “Transparent API Design” document). 
7 1
8 1
9 2 Sergey Sivolgin
h2. Intel® IPP
10 4 Sergey Sivolgin
11 2 Sergey Sivolgin
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:
12 2 Sergey Sivolgin
* Windows (32-bit and 64-bit)
13 2 Sergey Sivolgin
* Linux (32-bit and 64-bit)
14 2 Sergey Sivolgin
* Mac OS (32-bit and 64-bit)
15 2 Sergey Sivolgin
* Android (32-bit)
16 3 Sergey Sivolgin
17 2 Sergey Sivolgin
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.
18 1
19 5 Sergey Sivolgin
!ocv3_ipp_speedup.jpg!
20 5 Sergey Sivolgin
21 3 Sergey Sivolgin
22 1
h3. Intel® IPP Asynchonous
23 3 Sergey Sivolgin
24 2 Sergey Sivolgin
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.
25 1
26 1
h2. opencv_contrib repository
27 1
28 1
h2. New Functionality
29 1
30 1
h3. Computational phography
31 1
32 1
h3. Bindings
33 1
34 1
h3. Tracking
35 1
36 6 Sergey Sivolgin
h3. Camera support
37 7 Sergey Sivolgin
38 6 Sergey Sivolgin
Created new iVideoCapture class in VideoIO module. It uses data flow more optimal by memory copies minimization on both CPU and GPU by applied Transparent API. Currently this class supports Intel Perceptual Computing devices (Creative Senz3D cameras) and DirectShow devices.
39 6 Sergey Sivolgin
40 1
h3. Etc.
41 1
42 1
...
43 1
44 1
h2. Migrating from OpenCV 2 to OpenCV 3.
45 1
46 1
47 1