CMSIS-CV  
CMSIS CV Software Library
 
Loading...
Searching...
No Matches
Linear Filters

Functions

void arm_gaussian_filter_3x3_fixp (const arm_cv_image_gray8_t *imageIn, arm_cv_image_gray8_t *imageOut, q15_t *scratch, const int8_t borderType)
 Gaussian filter applying a 3x3 kernel and using q15 as intermediate values.
 
void arm_gaussian_filter_5x5_fixp (const arm_cv_image_gray8_t *imageIn, arm_cv_image_gray8_t *imageOut, q15_t *scratch, const int8_t borderType)
 Gaussian filter applying a 5x5 kernel and using q15 as intermediate values.
 
void arm_gaussian_filter_7x7_buffer_15_fixp (const arm_cv_image_gray8_t *imageIn, arm_cv_image_gray8_t *imageOut, q15_t *scratch, const int8_t borderType)
 Gaussian filter applying a 7x7 kernel and using q15 as intermediate values.
 
void arm_gaussian_filter_7x7_buffer_31_fixp (const arm_cv_image_gray8_t *imageIn, arm_cv_image_gray8_t *imageOut, q31_t *scratch, const int8_t borderType)
 Gaussian filter applying a 7x7 kernel and using q31 as intermediate values.
 
uint16_t arm_get_linear_scratch_size_buffer_15 (const int width)
 Return the scratch size for generic linear filter function using a q15 buffer.
 
uint16_t arm_get_linear_scratch_size_buffer_31 (const int width)
 Return the scratch size for generic linear filter function using a q31 buffer.
 
uint16_t arm_get_scratch_size_sobel (const int width)
 Return the scratch size for sobel functions using a q15 buffer.
 
void arm_sobel_horizontal (const arm_cv_image_gray8_t *imageIn, arm_cv_image_q15_t *imageOut, q15_t *scratch, const int8_t borderType)
 Sobel filter computing the gradient on the horizontal axis.
 
void arm_sobel_vertical (const arm_cv_image_gray8_t *imageIn, arm_cv_image_q15_t *imageOut, q15_t *scratch, const int8_t borderType)
 Sobel filter computing the gradient on the vertical axis.
 

Description

Function Documentation

◆ arm_gaussian_filter_3x3_fixp()

void arm_gaussian_filter_3x3_fixp ( const arm_cv_image_gray8_t imageIn,
arm_cv_image_gray8_t imageOut,
q15_t *  scratch,
const int8_t  borderType 
)

Gaussian filter applying a 3x3 kernel and using q15 as intermediate values.

Parameters
[in]imageInThe input image
[out]imageOutThe output image
[in,out]scratchTemporary buffer
[in]borderTypeType of border to use, supported are Replicate Wrap and Reflect
Temporary buffer sizing:

Will use a temporary buffer to store intermediate values of gradient and magnitude.

Size of temporary buffer is given by arm_cv_get_scratch_size_generic(int width)

◆ arm_gaussian_filter_5x5_fixp()

void arm_gaussian_filter_5x5_fixp ( const arm_cv_image_gray8_t imageIn,
arm_cv_image_gray8_t imageOut,
q15_t *  scratch,
const int8_t  borderType 
)

Gaussian filter applying a 5x5 kernel and using q15 as intermediate values.

Parameters
[in]imageInThe input image
[out]imageOutThe output image
[in,out]scratchTemporary buffer
[in]borderTypeType of border to use, supported are Replicate Wrap and Reflect
Temporary buffer sizing:

Will use a temporary buffer to store intermediate values of gradient and magnitude.

Size of temporary buffer is given by arm_cv_get_scratch_size_generic(int width)

◆ arm_gaussian_filter_7x7_buffer_15_fixp()

void arm_gaussian_filter_7x7_buffer_15_fixp ( const arm_cv_image_gray8_t imageIn,
arm_cv_image_gray8_t imageOut,
q15_t *  scratch,
const int8_t  borderType 
)

Gaussian filter applying a 7x7 kernel and using q15 as intermediate values.

Parameters
[in]imageInThe input image
[out]imageOutThe output image
[in,out]scratchTemporary buffer
[in]borderTypeType of border to use, supported are Replicate Wrap and Reflect
Temporary buffer sizing:

Will use a temporary buffer to store intermediate values of gradient and magnitude.

Size of temporary buffer is given by arm_cv_get_scratch_size_generic(int width)

◆ arm_gaussian_filter_7x7_buffer_31_fixp()

void arm_gaussian_filter_7x7_buffer_31_fixp ( const arm_cv_image_gray8_t imageIn,
arm_cv_image_gray8_t imageOut,
q31_t *  scratch,
const int8_t  borderType 
)

Gaussian filter applying a 7x7 kernel and using q31 as intermediate values.

Parameters
[in]imageInThe input image
[out]imageOutThe output image
[in,out]scratchTemporary buffer
[in]borderTypeType of border to use, supported are Replicate Wrap and Reflect
Temporary buffer sizing:

Will use a temporary buffer to store intermediate values of gradient and magnitude.

Size of temporary buffer is given by arm_cv_get_scratch_size_generic(int width)

◆ arm_get_linear_scratch_size_buffer_15()

uint16_t arm_get_linear_scratch_size_buffer_15 ( const int  width)

Return the scratch size for generic linear filter function using a q15 buffer.

Parameters
[in]widthThe width of the image in pixels
Returns
Scratch size in bytes

◆ arm_get_linear_scratch_size_buffer_31()

uint16_t arm_get_linear_scratch_size_buffer_31 ( const int  width)

Return the scratch size for generic linear filter function using a q31 buffer.

Parameters
[in]widthThe width of the image in pixels
Returns
Scratch size in bytes

◆ arm_get_scratch_size_sobel()

uint16_t arm_get_scratch_size_sobel ( const int  width)

Return the scratch size for sobel functions using a q15 buffer.

Parameters
[in]widthThe width of the image in pixels
Returns
Scratch size in bytes

◆ arm_sobel_horizontal()

void arm_sobel_horizontal ( const arm_cv_image_gray8_t imageIn,
arm_cv_image_q15_t imageOut,
q15_t *  scratch,
const int8_t  borderType 
)

Sobel filter computing the gradient on the horizontal axis.

Parameters
[in]imageInThe input image
[out]imageOutThe output image
[in,out]scratchBuffer
[in]borderTypeType of border to use, supported are Replicate Wrap and Reflect
Temporary buffer sizing:

Will use a temporary buffer to store intermediate values of gradient and magnitude.

Size of temporary buffer is given by arm_cv_get_scratch_size_sobel_y(int width)

◆ arm_sobel_vertical()

void arm_sobel_vertical ( const arm_cv_image_gray8_t imageIn,
arm_cv_image_q15_t imageOut,
q15_t *  scratch,
const int8_t  borderType 
)

Sobel filter computing the gradient on the vertical axis.

Parameters
[in]imageInThe input image
[out]imageOutThe output image
[in,out]scratchBuffer
[in]borderTypeType of border to use, supported are Replicate Wrap and Reflect