Functions for estimation of difference between current frame and background.
More...
|
SIMD_API void | SimdAddFeatureDifference (const uint8_t *value, size_t valueStride, size_t width, size_t height, const uint8_t *lo, size_t loStride, const uint8_t *hi, size_t hiStride, uint16_t weight, uint8_t *difference, size_t differenceStride) |
| Adds feature difference to common difference sum. More...
|
|
template<template< class > class A> |
SIMD_INLINE void | AddFeatureDifference (const View< A > &value, const View< A > &lo, const View< A > &hi, uint16_t weight, View< A > &difference) |
| Adds feature difference to common difference sum. More...
|
|
Functions for estimation of difference between current frame and background.
void SimdAddFeatureDifference |
( |
const uint8_t * |
value, |
|
|
size_t |
valueStride, |
|
|
size_t |
width, |
|
|
size_t |
height, |
|
|
const uint8_t * |
lo, |
|
|
size_t |
loStride, |
|
|
const uint8_t * |
hi, |
|
|
size_t |
hiStride, |
|
|
uint16_t |
weight, |
|
|
uint8_t * |
difference, |
|
|
size_t |
differenceStride |
|
) |
| |
Adds feature difference to common difference sum.
All images must have the same width, height and format (8-bit gray).
For every point: excess = max(lo[i] - value[i], 0) + max(value[i] - hi[i], 0);
difference[i] += (weight * excess*excess) >> 16;
This function is used for difference estimation in algorithm of motion detection.
- Note
- This function has a C++ wrapper Simd::AddFeatureDifference(const View<A>& value, const View<A>& lo, const View<A>& hi, uint16_t weight, View<A>& difference).
- Parameters
-
[in] | value | - a pointer to pixels data of current feature value. |
[in] | valueStride | - a row size of the value image. |
[in] | width | - an image width. |
[in] | height | - an image height. |
[in] | lo | - a pointer to pixels data of feature lower bound of dynamic background. |
[in] | loStride | - a row size of the lo image. |
[in] | hi | - a pointer to pixels data of feature upper bound of dynamic background. |
[in] | hiStride | - a row size of the hi image. |
[in] | weight | - a current feature weight (unsigned 16-bit value). |
[in,out] | difference | - a pointer to pixels data of image with total difference. |
[in] | differenceStride | - a row size of difference image. |
void AddFeatureDifference |
( |
const View< A > & |
value, |
|
|
const View< A > & |
lo, |
|
|
const View< A > & |
hi, |
|
|
uint16_t |
weight, |
|
|
View< A > & |
difference |
|
) |
| |
Adds feature difference to common difference sum.
All images must have the same width, height and format (8-bit gray).
For every point: excess = max(lo[i] - value[i], 0) + max(value[i] - hi[i], 0);
difference[i] += (weight * excess*excess) >> 16;
This function is used for difference estimation in algorithm of motion detection.
- Note
- This function is a C++ wrapper for function SimdAddFeatureDifference.
- Parameters
-
[in] | value | - a current feature value. |
[in] | lo | - a feature lower bound of dynamic background. |
[in] | hi | - a feature upper bound of dynamic background. |
[in] | weight | - a current feature weight (unsigned 16-bit value). |
[in,out] | difference | - an image with total difference. |
|