OpenCV: DirectX interoperability

| OpenCV 3.4.2 Open Source Computer Vision

Functions
DirectX interoperability
Core functionality

## Functions
void | cv::directx::convertFromD3D10Texture2D (ID3D10Texture2D *pD3D10Texture2D, OutputArray dst)
| Converts ID3D10Texture2D to OutputArray. More...
void | cv::directx::convertFromD3D11Texture2D (ID3D11Texture2D *pD3D11Texture2D, OutputArray dst)
| Converts ID3D11Texture2D to OutputArray. If input texture format is DXGI_FORMAT_NV12 then data will be upsampled and color-converted to BGR format. More...
void | cv::directx::convertFromDirect3DSurface9 (IDirect3DSurface9 *pDirect3DSurface9, OutputArray dst, void *surfaceSharedHandle=NULL)
| Converts IDirect3DSurface9 to OutputArray. More...
void | cv::directx::convertToD3D10Texture2D (InputArray src, ID3D10Texture2D *pD3D10Texture2D)
| Converts InputArray to ID3D10Texture2D. More...
void | cv::directx::convertToD3D11Texture2D (InputArray src, ID3D11Texture2D *pD3D11Texture2D)
| Converts InputArray to ID3D11Texture2D. If destination texture format is DXGI_FORMAT_NV12 then input UMat expected to be in BGR format and data will be downsampled and color-converted to NV12. More...
void | cv::directx::convertToDirect3DSurface9 (InputArray src, IDirect3DSurface9 *pDirect3DSurface9, void *surfaceSharedHandle=NULL)
| Converts InputArray to IDirect3DSurface9. More...
int | cv::directx::getTypeFromD3DFORMAT (const int iD3DFORMAT)
| Get OpenCV type from DirectX type. More...
int | cv::directx::getTypeFromDXGI_FORMAT (const int iDXGI_FORMAT)
| Get OpenCV type from DirectX type. More...
Context & | cv::directx::ocl::initializeContextFromD3D10Device (ID3D10Device *pD3D10Device)
| Creates OpenCL context from D3D10 device. More...
Context & | cv::directx::ocl::initializeContextFromD3D11Device (ID3D11Device *pD3D11Device)
| Creates OpenCL context from D3D11 device. More...
Context & | cv::directx::ocl::initializeContextFromDirect3DDevice9 (IDirect3DDevice9 *pDirect3DDevice9)
| Creates OpenCL context from Direct3DDevice9 device. More...
Context & | cv::directx::ocl::initializeContextFromDirect3DDevice9Ex (IDirect3DDevice9Ex *pDirect3DDevice9Ex)
| Creates OpenCL context from Direct3DDevice9Ex device. More...

## Detailed Description

## Function Documentation

## ◆ convertFromD3D10Texture2D()

void cv::directx::convertFromD3D10Texture2D | ( | ID3D10Texture2D * | pD3D10Texture2D,
|  | OutputArray | dst
| ) |  |

Converts ID3D10Texture2D to OutputArray.

Note
  Note: function does memory copy from pD3D10Texture2D to dst

Parameters

  pD3D10Texture2D | - source D3D10 texture
  dst | - destination OutputArray

## ◆ convertFromD3D11Texture2D()

void cv::directx::convertFromD3D11Texture2D | ( | ID3D11Texture2D * | pD3D11Texture2D,
|  | OutputArray | dst
| ) |  |

Converts ID3D11Texture2D to OutputArray. If input texture format is DXGI_FORMAT_NV12 then data will be upsampled and color-converted to BGR format.

Note
  Note: Destination matrix will be re-allocated if it has not enough memory to match texture size. function does memory copy from pD3D11Texture2D to dst

Parameters

  pD3D11Texture2D | - source D3D11 texture
  dst | - destination OutputArray

## ◆ convertFromDirect3DSurface9()

void cv::directx::convertFromDirect3DSurface9 | ( | IDirect3DSurface9 * | pDirect3DSurface9,
|  | OutputArray | dst,
|  | void * | surfaceSharedHandle = `NULL`
| ) |  |

Converts IDirect3DSurface9 to OutputArray.

Note
  Note: function does memory copy from pDirect3DSurface9 to dst

Parameters

  pDirect3DSurface9 | - source D3D10 texture
  dst | - destination OutputArray
  surfaceSharedHandle | - shared handle

## ◆ convertToD3D10Texture2D()

void cv::directx::convertToD3D10Texture2D | ( | InputArray | src,
|  | ID3D10Texture2D * | pD3D10Texture2D
| ) |  |

Converts InputArray to ID3D10Texture2D.

Note
  Note: function does memory copy from src to pD3D10Texture2D

Parameters

  src | - source InputArray
  pD3D10Texture2D | - destination D3D10 texture

## ◆ convertToD3D11Texture2D()

void cv::directx::convertToD3D11Texture2D | ( | InputArray | src,
|  | ID3D11Texture2D * | pD3D11Texture2D
| ) |  |

Converts InputArray to ID3D11Texture2D. If destination texture format is DXGI_FORMAT_NV12 then input UMat expected to be in BGR format and data will be downsampled and color-converted to NV12.

Note
  Note: Destination texture must be allocated by application. Function does memory copy from src to pD3D11Texture2D

Parameters

  src | - source InputArray
  pD3D11Texture2D | - destination D3D11 texture

## ◆ convertToDirect3DSurface9()

void cv::directx::convertToDirect3DSurface9 | ( | InputArray | src,
|  | IDirect3DSurface9 * | pDirect3DSurface9,
|  | void * | surfaceSharedHandle = `NULL`
| ) |  |

Converts InputArray to IDirect3DSurface9.

Note
  Note: function does memory copy from src to pDirect3DSurface9

Parameters

  src | - source InputArray
  pDirect3DSurface9 | - destination D3D10 texture
  surfaceSharedHandle | - shared handle

## ◆ getTypeFromD3DFORMAT()

int cv::directx::getTypeFromD3DFORMAT | ( | const int | iD3DFORMAT | ) |

Get OpenCV type from DirectX type.

Parameters

  iD3DFORMAT | - enum D3DTYPE for D3D9

Returns
  OpenCV type or -1 if there is no equivalent

## ◆ getTypeFromDXGI_FORMAT()

int cv::directx::getTypeFromDXGI_FORMAT | ( | const int | iDXGI_FORMAT | ) |

Get OpenCV type from DirectX type.

Parameters

  iDXGI_FORMAT | - enum DXGI_FORMAT for D3D10/D3D11

Returns
  OpenCV type or -1 if there is no equivalent

## ◆ initializeContextFromD3D10Device()

Context& cv::directx::ocl::initializeContextFromD3D10Device | ( | ID3D10Device * | pD3D10Device | ) |

Creates OpenCL context from D3D10 device.

Parameters

  pD3D10Device | - pointer to D3D10 device

Returns
  Returns reference to OpenCL Context

## ◆ initializeContextFromD3D11Device()

Context& cv::directx::ocl::initializeContextFromD3D11Device | ( | ID3D11Device * | pD3D11Device | ) |

Creates OpenCL context from D3D11 device.

Parameters

  pD3D11Device | - pointer to D3D11 device

Returns
  Returns reference to OpenCL Context

## ◆ initializeContextFromDirect3DDevice9()

Context& cv::directx::ocl::initializeContextFromDirect3DDevice9 | ( | IDirect3DDevice9 * | pDirect3DDevice9 | ) |

Creates OpenCL context from Direct3DDevice9 device.

Parameters

  pDirect3DDevice9 | - pointer to Direct3Device9 device

Returns
  Returns reference to OpenCL Context

## ◆ initializeContextFromDirect3DDevice9Ex()

Context& cv::directx::ocl::initializeContextFromDirect3DDevice9Ex | ( | IDirect3DDevice9Ex * | pDirect3DDevice9Ex | ) |

Creates OpenCL context from Direct3DDevice9Ex device.

Parameters

  pDirect3DDevice9Ex | - pointer to Direct3DDevice9Ex device

Returns
  Returns reference to OpenCL Context