Intel IPP Asynchronous C/C++ Converters

Overview

This section describes conversion between OpenCV and Intel IPP Asynchronous C/C++ library. More…

// global functions

void
cv::hpp::copyHppToMat(
    hppiMatrix* src,
    Mat& dst,
    hppAccel accel,
    int cn
    );

hppiMatrix*
cv::hpp::getHpp(
    const Mat& src,
    hppAccel accel
    );

Mat
cv::hpp::getMat(
    hppiMatrix* src,
    hppAccel accel,
    int cn
    );

int
cv::hpp::toCvType(const int hppType);

int
cv::hpp::toHppType(const int cvType);

Detailed Documentation

This section describes conversion between OpenCV and Intel IPP Asynchronous C/C++ library. Getting Started Guide help you to install the library, configure header and library build paths.

Global Functions

void
cv::hpp::copyHppToMat(
    hppiMatrix* src,
    Mat& dst,
    hppAccel accel,
    int cn
    )

Convert hppiMatrix to Mat.

This function allocates and initializes new matrix (if needed) that has the same size and type as input matrix. Supports CV_8U, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F.

Parameters:

src input hppiMatrix.
dst output matrix.
accel accelerator instance (see hpp::getHpp for the list of acceleration framework types).
cn number of channels.
hppiMatrix*
cv::hpp::getHpp(
    const Mat& src,
    hppAccel accel
    )

Create hppiMatrix from Mat.

This function allocates and initializes the hppiMatrix that has the same size and type as input matrix, returns the hppiMatrix*.

If you want to use zero-copy for GPU you should to have 4KB aligned matrix data. See details hppiCreateSharedMatrix.

Supports CV_8U, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F.

The hppiMatrix pointer to the image buffer in system memory refers to the src.data. Control the lifetime of the matrix and don’t change its data, if there is no special need.

Parameters:

src input matrix.
accel

accelerator instance. Supports type:

  • HPP_ACCEL_TYPE_CPU - accelerated by optimized CPU instructions.
  • HPP_ACCEL_TYPE_GPU - accelerated by GPU programmable units or fixed-function accelerators.
  • HPP_ACCEL_TYPE_ANY - any acceleration or no acceleration available.

See also:

howToUseIPPAconversion, hpp::getMat

Mat
cv::hpp::getMat(
    hppiMatrix* src,
    hppAccel accel,
    int cn
    )

Create Mat from hppiMatrix.

This function allocates and initializes the Mat that has the same size and type as input matrix. Supports CV_8U, CV_16U, CV_16S, CV_32S, CV_32F, CV_64F.

Parameters:

src input hppiMatrix.
accel accelerator instance (see hpp::getHpp for the list of acceleration framework types).
cn number of channels.

See also:

howToUseIPPAconversion, hpp::copyHppToMat, hpp::getHpp.

int
cv::hpp::toCvType(const int hppType)

convert hppDataType to OpenCV data type

int
cv::hpp::toHppType(const int cvType)

convert OpenCV data type to hppDataType