Simd Library Documentation.

Home | Release Notes | Download | Documentation | Issues | GitHub | SourceForge
Edge Background Updating

Functions for edge background updating. More...

Functions

SIMD_API void SimdEdgeBackgroundGrowRangeSlow (const uint8_t *value, size_t valueStride, size_t width, size_t height, uint8_t *background, size_t backgroundStride)
 Performs edge background update (initial grow, slow mode). More...
 
SIMD_API void SimdEdgeBackgroundGrowRangeFast (const uint8_t *value, size_t valueStride, size_t width, size_t height, uint8_t *background, size_t backgroundStride)
 Performs edge background update (initial grow, fast mode). More...
 
SIMD_API void SimdEdgeBackgroundIncrementCount (const uint8_t *value, size_t valueStride, size_t width, size_t height, const uint8_t *backgroundValue, size_t backgroundValueStride, uint8_t *backgroundCount, size_t backgroundCountStride)
 Performs collection of edge background statistic. More...
 
SIMD_API void SimdEdgeBackgroundAdjustRange (uint8_t *backgroundCount, size_t backgroundCountStride, size_t width, size_t height, uint8_t *backgroundValue, size_t backgroundValueStride, uint8_t threshold)
 Performs adjustment of edge background range. More...
 
SIMD_API void SimdEdgeBackgroundAdjustRangeMasked (uint8_t *backgroundCount, size_t backgroundCountStride, size_t width, size_t height, uint8_t *backgroundValue, size_t backgroundValueStride, uint8_t threshold, const uint8_t *mask, size_t maskStride)
 Performs adjustment of edge background range with using adjust range mask. More...
 
SIMD_API void SimdEdgeBackgroundShiftRange (const uint8_t *value, size_t valueStride, size_t width, size_t height, uint8_t *background, size_t backgroundStride)
 Shifts edge background range. More...
 
SIMD_API void SimdEdgeBackgroundShiftRangeMasked (const uint8_t *value, size_t valueStride, size_t width, size_t height, uint8_t *background, size_t backgroundStride, const uint8_t *mask, size_t maskStride)
 Shifts edge background range with using shift range mask. More...
 
template<template< class > class A>
SIMD_INLINE void EdgeBackgroundGrowRangeSlow (const View< A > &value, View< A > &background)
 Performs edge background update (initial grow, slow mode). More...
 
template<template< class > class A>
SIMD_INLINE void EdgeBackgroundGrowRangeFast (const View< A > &value, View< A > &background)
 Performs edge background update (initial grow, fast mode). More...
 
template<template< class > class A>
SIMD_INLINE void EdgeBackgroundIncrementCount (const View< A > &value, const View< A > &backgroundValue, View< A > &backgroundCount)
 Performs collection of edge background statistic. More...
 
template<template< class > class A>
SIMD_INLINE void EdgeBackgroundAdjustRange (View< A > &backgroundCount, View< A > &backgroundValue, uint8_t threshold)
 Performs adjustment of edge background range. More...
 
template<template< class > class A>
SIMD_INLINE void EdgeBackgroundAdjustRange (View< A > &backgroundCount, View< A > &backgroundValue, uint8_t threshold, const View< A > &mask)
 Performs adjustment of edge background range with using adjust range mask. More...
 
template<template< class > class A>
SIMD_INLINE void EdgeBackgroundShiftRange (const View< A > &value, View< A > &background)
 Shifts edge background range. More...
 
template<template< class > class A>
SIMD_INLINE void EdgeBackgroundShiftRange (const View< A > &value, View< A > &background, const View< A > &mask)
 Shifts edge background range with using shift range mask. More...
 

Detailed Description

Functions for edge background updating.

Function Documentation

◆ SimdEdgeBackgroundGrowRangeSlow()

void SimdEdgeBackgroundGrowRangeSlow ( const uint8_t *  value,
size_t  valueStride,
size_t  width,
size_t  height,
uint8_t *  background,
size_t  backgroundStride 
)

Performs edge background update (initial grow, slow mode).

All images must have the same width, height and format (8-bit gray).

For every point:

background[i] += value[i] > background[i] ? 1 : 0;

This function is used for edge background updating in motion detection algorithm.

Note
This function has a C++ wrapper Simd::EdgeBackgroundGrowRangeSlow(const View<A>& value, View<A>& background).
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,out]background- a pointer to pixels data of feature value of edge dynamic background.
[in]backgroundStride- a row size of the background image.

◆ SimdEdgeBackgroundGrowRangeFast()

void SimdEdgeBackgroundGrowRangeFast ( const uint8_t *  value,
size_t  valueStride,
size_t  width,
size_t  height,
uint8_t *  background,
size_t  backgroundStride 
)

Performs edge background update (initial grow, fast mode).

All images must have the same width, height and format (8-bit gray).

For every point:

background[i] = value[i] > background[i] ? value[i] : background[i];

This function is used for edge background updating in motion detection algorithm.

Note
This function has a C++ wrapper Simd::EdgeBackgroundGrowRangeFast(const View<A>& value, View<A>& background).
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,out]background- a pointer to pixels data of feature value of edge dynamic background.
[in]backgroundStride- a row size of the background image.

◆ SimdEdgeBackgroundIncrementCount()

void SimdEdgeBackgroundIncrementCount ( const uint8_t *  value,
size_t  valueStride,
size_t  width,
size_t  height,
const uint8_t *  backgroundValue,
size_t  backgroundValueStride,
uint8_t *  backgroundCount,
size_t  backgroundCountStride 
)

Performs collection of edge background statistic.

All images must have the same width, height and format (8-bit gray).

Updates background statistic counters for every point:

backgroundCount[i] += (value[i] > backgroundValue[i] && backgroundCount[i] < 255) ? 1 : 0;

This function is used for edge background updating in motion detection algorithm.

Note
This function has a C++ wrapper Simd::EdgeBackgroundIncrementCount(const View<A>& value, const View<A>& backgroundValue, View<A>& backgroundCount).
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]backgroundValue- a pointer to pixels data of value of feature of edge dynamic background.
[in]backgroundValueStride- a row size of the backgroundValue image.
[in,out]backgroundCount- a pointer to pixels data of count of feature of edge dynamic background.
[in]backgroundCountStride- a row size of the backgroundCount image.

◆ SimdEdgeBackgroundAdjustRange()

void SimdEdgeBackgroundAdjustRange ( uint8_t *  backgroundCount,
size_t  backgroundCountStride,
size_t  width,
size_t  height,
uint8_t *  backgroundValue,
size_t  backgroundValueStride,
uint8_t  threshold 
)

Performs adjustment of edge background range.

All images must have the same width, height and format (8-bit gray).

Adjusts edge background range for every point:

backgroundValue[i] += (backgroundCount[i] > threshold && backgroundValue[i] < 255) ? 1 : 0;
backgroundValue[i] -= (backgroundCount[i] < threshold && backgroundValue[i] > 0) ? 1 : 0;
backgroundCount[i] = 0;

This function is used for edge background updating in motion detection algorithm.

Note
This function has a C++ wrapper Simd::EdgeBackgroundAdjustRange(View<A>& backgroundCount, View<A>& backgroundValue, uint8_t threshold).
Parameters
[in,out]backgroundCount- a pointer to pixels data of count of feature of edge dynamic background.
[in]backgroundCountStride- a row size of the backgroundCount image.
[in]width- an image width.
[in]height- an image height.
[in,out]backgroundValue- a pointer to pixels data of value of feature of edge dynamic background.
[in]backgroundValueStride- a row size of the backgroundValue image.
[in]threshold- a count threshold.

◆ SimdEdgeBackgroundAdjustRangeMasked()

void SimdEdgeBackgroundAdjustRangeMasked ( uint8_t *  backgroundCount,
size_t  backgroundCountStride,
size_t  width,
size_t  height,
uint8_t *  backgroundValue,
size_t  backgroundValueStride,
uint8_t  threshold,
const uint8_t *  mask,
size_t  maskStride 
)

Performs adjustment of edge background range with using adjust range mask.

All images must have the same width, height and format (8-bit gray).

Adjusts edge background range for every point:

if(mask[i])
{
    backgroundValue[i] += (backgroundCount[i] > threshold && backgroundValue[i] < 255) ? 1 : 0;
    backgroundValue[i] -= (backgroundCount[i] < threshold && backgroundValue[i] > 0) ? 1 : 0;
    backgroundCount[i] = 0;
}

This function is used for edge background updating in motion detection algorithm.

Note
This function has a C++ wrapper Simd::EdgeBackgroundAdjustRange(View<A>& backgroundCount, View<A>& backgroundValue, uint8_t threshold, const View<A>& mask).
Parameters
[in,out]backgroundCount- a pointer to pixels data of count of feature of edge dynamic background.
[in]backgroundCountStride- a row size of the backgroundCount image.
[in]width- an image width.
[in]height- an image height.
[in,out]backgroundValue- a pointer to pixels data of value of feature of edge dynamic background.
[in]backgroundValueStride- a row size of the backgroundValue image.
[in]threshold- a count threshold.
[in]mask- a pointer to pixels data of adjust range mask.
[in]maskStride- a row size of the mask image.

◆ SimdEdgeBackgroundShiftRange()

void SimdEdgeBackgroundShiftRange ( const uint8_t *  value,
size_t  valueStride,
size_t  width,
size_t  height,
uint8_t *  background,
size_t  backgroundStride 
)

Shifts edge background range.

All images must have the same width, height and format (8-bit gray).

For every point:

background[i] = value[i];

This function is used for fast edge background updating in motion detection algorithm.

Note
This function has a C++ wrapper Simd::EdgeBackgroundShiftRange(const View<A>& value, View<A>& background).
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,out]background- a pointer to pixels data of feature of edge dynamic background.
[in]backgroundStride- a row size of the background image.

◆ SimdEdgeBackgroundShiftRangeMasked()

void SimdEdgeBackgroundShiftRangeMasked ( const uint8_t *  value,
size_t  valueStride,
size_t  width,
size_t  height,
uint8_t *  background,
size_t  backgroundStride,
const uint8_t *  mask,
size_t  maskStride 
)

Shifts edge background range with using shift range mask.

All images must have the same width, height and format (8-bit gray).

For every point:

if(mask[i]])
    background[i] = value[i];

This function is used for fast edge background updating in motion detection algorithm.

Note
This function has a C++ wrapper Simd::EdgeBackgroundShiftRange(const View<A>& value, View<A>& background, const View<A>& mask).
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,out]background- a pointer to pixels data of feature of edge dynamic background.
[in]backgroundStride- a row size of the background image.
[in]mask- a pointer to pixels data of shift range mask.
[in]maskStride- a row size of the mask image.

◆ EdgeBackgroundGrowRangeSlow()

void EdgeBackgroundGrowRangeSlow ( const View< A > &  value,
View< A > &  background 
)

Performs edge background update (initial grow, slow mode).

All images must have the same width, height and format (8-bit gray).

For every point:

background[i] += value[i] > background[i] ? 1 : 0;

This function is used for edge background updating in motion detection algorithm.

Note
This function is a C++ wrapper for function SimdEdgeBackgroundGrowRangeSlow.
Parameters
[in]value- a current feature value.
[in,out]background- a feature value of edge dynamic background.

◆ EdgeBackgroundGrowRangeFast()

void EdgeBackgroundGrowRangeFast ( const View< A > &  value,
View< A > &  background 
)

Performs edge background update (initial grow, fast mode).

All images must have the same width, height and format (8-bit gray).

For every point:

background[i] = value[i] > background[i] ? value[i] : background[i];

This function is used for edge background updating in motion detection algorithm.

Note
This function is a C++ wrapper for function SimdEdgeBackgroundGrowRangeFast.
Parameters
[in]value- a current feature value.
[in,out]background- a feature value of edge dynamic background.

◆ EdgeBackgroundIncrementCount()

void EdgeBackgroundIncrementCount ( const View< A > &  value,
const View< A > &  backgroundValue,
View< A > &  backgroundCount 
)

Performs collection of edge background statistic.

All images must have the same width, height and format (8-bit gray).

Updates background statistic counters for every point:

backgroundCount[i] += (value[i] > backgroundValue[i] && backgroundCount[i] < 255) ? 1 : 0;

This function is used for edge background updating in motion detection algorithm.

Note
This function is a C++ wrapper for function SimdEdgeBackgroundIncrementCount.
Parameters
[in]value- a current feature value.
[in]backgroundValue- a value of feature of edge dynamic background.
[in,out]backgroundCount- a count of feature of edge dynamic background.

◆ EdgeBackgroundAdjustRange() [1/2]

void EdgeBackgroundAdjustRange ( View< A > &  backgroundCount,
View< A > &  backgroundValue,
uint8_t  threshold 
)

Performs adjustment of edge background range.

All images must have the same width, height and format (8-bit gray).

Adjusts edge background range for every point:

backgroundValue[i] += (backgroundCount[i] > threshold && backgroundValue[i] < 255) ? 1 : 0;
backgroundValue[i] -= (backgroundCount[i] < threshold && backgroundValue[i] > 0) ? 1 : 0;
backgroundCount[i] = 0;

This function is used for edge background updating in motion detection algorithm.

Note
This function is a C++ wrapper for function SimdEdgeBackgroundAdjustRange.
Parameters
[in,out]backgroundCount- a count of feature of edge dynamic background.
[in,out]backgroundValue- a value of feature of edge dynamic background.
[in]threshold- a count threshold.

◆ EdgeBackgroundAdjustRange() [2/2]

void EdgeBackgroundAdjustRange ( View< A > &  backgroundCount,
View< A > &  backgroundValue,
uint8_t  threshold,
const View< A > &  mask 
)

Performs adjustment of edge background range with using adjust range mask.

All images must have the same width, height and format (8-bit gray).

Adjusts edge background range for every point:

if(mask[i])
{
    backgroundValue[i] += (backgroundCount[i] > threshold && backgroundValue[i] < 255) ? 1 : 0;
    backgroundValue[i] -= (backgroundCount[i] < threshold && backgroundValue[i] > 0) ? 1 : 0;
    backgroundCount[i] = 0;
}

This function is used for edge background updating in motion detection algorithm.

Note
This function is a C++ wrapper for function SimdEdgeBackgroundAdjustRangeMasked.
Parameters
[in,out]backgroundCount- a count of feature of edge dynamic background.
[in,out]backgroundValue- a value of feature of edge dynamic background.
[in]threshold- a count threshold.
[in]mask- an adjust range mask.

◆ EdgeBackgroundShiftRange() [1/2]

void EdgeBackgroundShiftRange ( const View< A > &  value,
View< A > &  background 
)

Shifts edge background range.

All images must have the same width, height and format (8-bit gray).

For every point:

background[i] = value[i];

This function is used for fast edge background updating in motion detection algorithm.

Note
This function is a C++ wrapper for function SimdEdgeBackgroundShiftRange.
Parameters
[in]value- a current feature value.
[in,out]background- a feature of the edge dynamic background.

◆ EdgeBackgroundShiftRange() [2/2]

void EdgeBackgroundShiftRange ( const View< A > &  value,
View< A > &  background,
const View< A > &  mask 
)

Shifts edge background range with using shift range mask.

All images must have the same width, height and format (8-bit gray).

For every point:

if(mask[i]])
    background[i] = value[i];

This function is used for fast edge background updating in motion detection algorithm.

Note
This function is a C++ wrapper for function SimdEdgeBackgroundShiftRangeMasked.
Parameters
[in]value- a current feature value.
[in,out]background- a feature of the edge dynamic background.
[in]mask- a shift range mask.