Ocean
Loading...
Searching...
No Matches
Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< tChannels > Class Template Reference

This class provides functions allowing to calculate a response for one pixel. More...

#include <FrameFilterSobelMagnitude.h>

Public Member Functions

OCEAN_FORCE_INLINE void maxMagnitudeResponse (const uint8_t *const source0, const uint8_t *const source1, const uint8_t *const source2, TTarget *const response)
 
OCEAN_FORCE_INLINE void maxMagnitudeResponse (const uint8_t *const source0, const uint8_t *const source1, const uint8_t *const source2, TTarget *const response)
 
OCEAN_FORCE_INLINE void maxMagnitudeResponse (const uint8_t *const source0, const uint8_t *const source1, const uint8_t *const source2, TTarget *const response)
 

Static Public Member Functions

template<typename TTarget >
static OCEAN_FORCE_INLINE TTarget response0 (const uint8_t *const source0, const uint8_t *const source1, const uint8_t *const source2)
 Determines the horizontal Sobel response for one channel.
 
template<typename TTarget >
static OCEAN_FORCE_INLINE TTarget response90 (const uint8_t *const source0, const uint8_t *const source1, const uint8_t *const source2)
 Determines the vertical Sobel response for one channel.
 
template<typename TTarget >
static OCEAN_FORCE_INLINE TTarget response45 (const uint8_t *const source0, const uint8_t *const source1, const uint8_t *const source2)
 Determines the diagonal Sobel response for one channel.
 
template<typename TTarget >
static OCEAN_FORCE_INLINE TTarget response135 (const uint8_t *const source0, const uint8_t *const source1, const uint8_t *const source2)
 Determines the diagonal Sobel response for one channel.
 
template<typename TTarget , TTarget(*)(const uint8_t *const, const uint8_t *, const uint8_t *const) tResponseA, TTarget(*)(const uint8_t *const, const uint8_t *, const uint8_t *const) tResponseB>
static OCEAN_FORCE_INLINE void maxMagnitudeResponse (const uint8_t *const source0, const uint8_t *const source1, const uint8_t *const source2, TTarget *const responses)
 Determines the maximal horizontal and vertical Sobel response across all channels.
 

Detailed Description

template<unsigned int tChannels>
class Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< tChannels >

This class provides functions allowing to calculate a response for one pixel.

Template Parameters
tChannelsThe number of frame channels, with range [1, infinity)

Member Function Documentation

◆ maxMagnitudeResponse() [1/4]

OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< 2u >::maxMagnitudeResponse ( const uint8_t *const  source0,
const uint8_t *const  source1,
const uint8_t *const  source2,
TTarget *const  response 
)

◆ maxMagnitudeResponse() [2/4]

OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< 3u >::maxMagnitudeResponse ( const uint8_t *const  source0,
const uint8_t *const  source1,
const uint8_t *const  source2,
TTarget *const  response 
)

◆ maxMagnitudeResponse() [3/4]

OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< 4u >::maxMagnitudeResponse ( const uint8_t *const  source0,
const uint8_t *const  source1,
const uint8_t *const  source2,
TTarget *const  response 
)

◆ maxMagnitudeResponse() [4/4]

template<unsigned int tChannels>
template<typename TTarget , TTarget(*)(const uint8_t *const, const uint8_t *, const uint8_t *const) tResponseA, TTarget(*)(const uint8_t *const, const uint8_t *, const uint8_t *const) tResponseB>
static OCEAN_FORCE_INLINE void Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< tChannels >::maxMagnitudeResponse ( const uint8_t *const  source0,
const uint8_t *const  source1,
const uint8_t *const  source2,
TTarget *const  responses 
)
static

Determines the maximal horizontal and vertical Sobel response across all channels.

Parameters
source0The top left location of the 3x3 box filter, must be valid
source1The center left location of the 3x3 box filter, must be valid
source2the bottom left location of the 3x3 box filter, must be valid
responsesThe maximal horizontal and vertical Sobel response across all channels based on the magnitude, normalized by 32
Template Parameters
TTargetThe data type oft he target response frame, must be int8_t or int16_t
TResponseA
TResponseB

◆ response0()

template<unsigned int tChannels>
template<typename TTarget >
OCEAN_FORCE_INLINE TTarget Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< tChannels >::response0 ( const uint8_t *const  source0,
const uint8_t *const  source1,
const uint8_t *const  source2 
)
static

Determines the horizontal Sobel response for one channel.

Parameters
source0The top left location of the 3x3 box filter, must be valid
source1The center left location of the 3x3 box filter, must be valid
source2the bottom left location of the 3x3 box filter, must be valid
Returns
The horizontal Sobel response, normalized by 32
Template Parameters
TTargetThe data type oft he target response frame, must be int8_t or int16_t

◆ response135()

template<unsigned int tChannels>
template<typename TTarget >
OCEAN_FORCE_INLINE TTarget Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< tChannels >::response135 ( const uint8_t *const  source0,
const uint8_t *const  source1,
const uint8_t *const  source2 
)
static

Determines the diagonal Sobel response for one channel.

Parameters
source0The top left location of the 3x3 box filter, must be valid
source1The center left location of the 3x3 box filter, must be valid
source2the bottom left location of the 3x3 box filter, must be valid
Returns
The vertical Sobel response, normalized by 32
Template Parameters
TTargetThe data type oft he target response frame, must be int8_t or int16_t

◆ response45()

template<unsigned int tChannels>
template<typename TTarget >
OCEAN_FORCE_INLINE TTarget Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< tChannels >::response45 ( const uint8_t *const  source0,
const uint8_t *const  source1,
const uint8_t *const  source2 
)
static

Determines the diagonal Sobel response for one channel.

Parameters
source0The top left location of the 3x3 box filter, must be valid
source1The center left location of the 3x3 box filter, must be valid
source2the bottom left location of the 3x3 box filter, must be valid
Returns
The horizontal Sobel response, normalized by 32
Template Parameters
TTargetThe data type oft he target response frame, must be int8_t or int16_t
tAngleThe angle of the filter, one of the following values {0, 45, 90, 135}

◆ response90()

template<unsigned int tChannels>
template<typename TTarget >
OCEAN_FORCE_INLINE TTarget Ocean::CV::FrameFilterSobelMagnitude::PixelResponse< tChannels >::response90 ( const uint8_t *const  source0,
const uint8_t *const  source1,
const uint8_t *const  source2 
)
static

Determines the vertical Sobel response for one channel.

Parameters
source0The top left location of the 3x3 box filter, must be valid
source1The center left location of the 3x3 box filter, must be valid
source2the bottom left location of the 3x3 box filter, must be valid
Returns
The vertical Sobel response, normalized by 32
Template Parameters
TTargetThe data type oft he target response frame, must be int8_t or int16_t

The documentation for this class was generated from the following file: