| OpenCV 4.3.0 Open Source Computer Vision

Functions
Element-wise add and subtract
Core functionality » Hardware Acceleration Layer » Interface

## Functions
int | hal_ni_add16s (const short *src1_data, size_t src1_step, const short *src2_data, size_t src2_step, short *dst_data, size_t dst_step, int width, int height)
int | hal_ni_add16u (const ushort *src1_data, size_t src1_step, const ushort *src2_data, size_t src2_step, ushort *dst_data, size_t dst_step, int width, int height)
int | hal_ni_add32f (const float *src1_data, size_t src1_step, const float *src2_data, size_t src2_step, float *dst_data, size_t dst_step, int width, int height)
int | hal_ni_add32s (const int *src1_data, size_t src1_step, const int *src2_data, size_t src2_step, int *dst_data, size_t dst_step, int width, int height)
int | hal_ni_add64f (const double *src1_data, size_t src1_step, const double *src2_data, size_t src2_step, double *dst_data, size_t dst_step, int width, int height)
int | hal_ni_add8s (const schar *src1_data, size_t src1_step, const schar *src2_data, size_t src2_step, schar *dst_data, size_t dst_step, int width, int height)
int | hal_ni_add8u (const uchar *src1_data, size_t src1_step, const uchar *src2_data, size_t src2_step, uchar *dst_data, size_t dst_step, int width, int height)
int | hal_ni_sub16s (const short *src1_data, size_t src1_step, const short *src2_data, size_t src2_step, short *dst_data, size_t dst_step, int width, int height)
int | hal_ni_sub16u (const ushort *src1_data, size_t src1_step, const ushort *src2_data, size_t src2_step, ushort *dst_data, size_t dst_step, int width, int height)
int | hal_ni_sub32f (const float *src1_data, size_t src1_step, const float *src2_data, size_t src2_step, float *dst_data, size_t dst_step, int width, int height)
int | hal_ni_sub32s (const int *src1_data, size_t src1_step, const int *src2_data, size_t src2_step, int *dst_data, size_t dst_step, int width, int height)
int | hal_ni_sub64f (const double *src1_data, size_t src1_step, const double *src2_data, size_t src2_step, double *dst_data, size_t dst_step, int width, int height)
int | hal_ni_sub8s (const schar *src1_data, size_t src1_step, const schar *src2_data, size_t src2_step, schar *dst_data, size_t dst_step, int width, int height)
int | hal_ni_sub8u (const uchar *src1_data, size_t src1_step, const uchar *src2_data, size_t src2_step, uchar *dst_data, size_t dst_step, int width, int height)

## Detailed Description

Add: dst[i] = src1[i] + src2[i]
Sub: dst[i] = src1[i] - src2[i]

Parameters

  src1_data,src1_step | first source image data and step
  src2_data,src2_step | second source image data and step
  dst_data,dst_step | destination image data and step
  width,height | dimensions of the images

## Function Documentation

## ◆ hal_ni_add16s()

int hal_ni_add16s | ( | const short * | src1_data,
|  | size_t | src1_step,
|  | const short * | src2_data,
|  | size_t | src2_step,
|  | short * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_add16u()

int hal_ni_add16u | ( | const ushort * | src1_data,
|  | size_t | src1_step,
|  | const ushort * | src2_data,
|  | size_t | src2_step,
|  | ushort * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_add32f()

int hal_ni_add32f | ( | const float * | src1_data,
|  | size_t | src1_step,
|  | const float * | src2_data,
|  | size_t | src2_step,
|  | float * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_add32s()

int hal_ni_add32s | ( | const int * | src1_data,
|  | size_t | src1_step,
|  | const int * | src2_data,
|  | size_t | src2_step,
|  | int * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_add64f()

int hal_ni_add64f | ( | const double * | src1_data,
|  | size_t | src1_step,
|  | const double * | src2_data,
|  | size_t | src2_step,
|  | double * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_add8s()

int hal_ni_add8s | ( | const schar * | src1_data,
|  | size_t | src1_step,
|  | const schar * | src2_data,
|  | size_t | src2_step,
|  | schar * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_add8u()

int hal_ni_add8u | ( | const uchar * | src1_data,
|  | size_t | src1_step,
|  | const uchar * | src2_data,
|  | size_t | src2_step,
|  | uchar * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_sub16s()

int hal_ni_sub16s | ( | const short * | src1_data,
|  | size_t | src1_step,
|  | const short * | src2_data,
|  | size_t | src2_step,
|  | short * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_sub16u()

int hal_ni_sub16u | ( | const ushort * | src1_data,
|  | size_t | src1_step,
|  | const ushort * | src2_data,
|  | size_t | src2_step,
|  | ushort * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_sub32f()

int hal_ni_sub32f | ( | const float * | src1_data,
|  | size_t | src1_step,
|  | const float * | src2_data,
|  | size_t | src2_step,
|  | float * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_sub32s()

int hal_ni_sub32s | ( | const int * | src1_data,
|  | size_t | src1_step,
|  | const int * | src2_data,
|  | size_t | src2_step,
|  | int * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_sub64f()

int hal_ni_sub64f | ( | const double * | src1_data,
|  | size_t | src1_step,
|  | const double * | src2_data,
|  | size_t | src2_step,
|  | double * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_sub8s()

int hal_ni_sub8s | ( | const schar * | src1_data,
|  | size_t | src1_step,
|  | const schar * | src2_data,
|  | size_t | src2_step,
|  | schar * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`

## ◆ hal_ni_sub8u()

int hal_ni_sub8u | ( | const uchar * | src1_data,
|  | size_t | src1_step,
|  | const uchar * | src2_data,
|  | size_t | src2_step,
|  | uchar * | dst_data,
|  | size_t | dst_step,
|  | int | width,
|  | int | height
| ) |  |
| inline

`#include <core/src/hal_replacement.hpp>`