Midpoint image filters. More...
Functions | |
| SIMD_API void | SimdMidpointFilterSquare3x3 (const uint8_t *src, size_t srcStride, size_t width, size_t height, size_t channelCount, uint8_t *dst, size_t dstStride) |
| Performs 3x3 square midpoint filtering of an 8-bit interleaved image. More... | |
| SIMD_API void | SimdMidpointFilterSquare5x5 (const uint8_t *src, size_t srcStride, size_t width, size_t height, size_t channelCount, uint8_t *dst, size_t dstStride) |
| Performs 5x5 square midpoint filtering of an 8-bit interleaved image. More... | |
| template<template< class > class A> | |
| SIMD_INLINE void | MidpointFilterSquare3x3 (const View< A > &src, View< A > &dst) |
| Performs midpoint filtration of input image (filter window is a square 3x3). More... | |
| template<template< class > class A> | |
| SIMD_INLINE void | MidpointFilterSquare5x5 (const View< A > &src, View< A > &dst) |
| Performs midpoint filtration of input image (filter window is a square 5x5). More... | |
Detailed Description
Midpoint image filters.
Function Documentation
◆ SimdMidpointFilterSquare3x3()
| void SimdMidpointFilterSquare3x3 | ( | const uint8_t * | src, |
| size_t | srcStride, | ||
| size_t | width, | ||
| size_t | height, | ||
| size_t | channelCount, | ||
| uint8_t * | dst, | ||
| size_t | dstStride | ||
| ) |
Performs 3x3 square midpoint filtering of an 8-bit interleaved image.
The filter is applied independently to every channel. Border pixels are handled by nearest-pixel replication. For every output sample:
min = minimum value in the 3x3 window; max = maximum value in the 3x3 window; dst[x, y, c] = (min + max + ((min + max) & 1)) / 2;
- Note
- This function has a C++ wrapper: Simd::MidpointFilterSquare3x3(const View<A>& src, View<A>& dst).
- Parameters
-
[in] src - a pointer to pixels data of original input image. [in] srcStride - a row size of src image (in bytes). [in] width - an image width. [in] height - an image height. [in] channelCount - a number of 8-bit channels per pixel. [out] dst - a pointer to pixels data of filtered output image. [in] dstStride - a row size of dst image (in bytes).
◆ SimdMidpointFilterSquare5x5()
| void SimdMidpointFilterSquare5x5 | ( | const uint8_t * | src, |
| size_t | srcStride, | ||
| size_t | width, | ||
| size_t | height, | ||
| size_t | channelCount, | ||
| uint8_t * | dst, | ||
| size_t | dstStride | ||
| ) |
Performs 5x5 square midpoint filtering of an 8-bit interleaved image.
The filter is applied independently to every channel. Border pixels are handled by nearest-pixel replication. For every output sample:
min = minimum value in the 5x5 window; max = maximum value in the 5x5 window; dst[x, y, c] = (min + max + ((min + max) & 1)) / 2;
- Note
- This function has a C++ wrapper: Simd::MidpointFilterSquare5x5(const View<A>& src, View<A>& dst).
- Parameters
-
[in] src - a pointer to pixels data of original input image. [in] srcStride - a row size of src image (in bytes). [in] width - an image width. [in] height - an image height. [in] channelCount - a number of 8-bit channels per pixel. [out] dst - a pointer to pixels data of filtered output image. [in] dstStride - a row size of dst image (in bytes).
◆ MidpointFilterSquare3x3()
Performs midpoint filtration of input image (filter window is a square 3x3).
All images must have the same width, height and format (8-bit gray, 16-bit UV, 24-bit BGR or 32-bit BGRA).
- Note
- This function is a C++ wrapper for function SimdMidpointFilterSquare3x3.
- Parameters
-
[in] src - an original input image. [out] dst - a filtered output image.
◆ MidpointFilterSquare5x5()
Performs midpoint filtration of input image (filter window is a square 5x5).
All images must have the same width, height and format (8-bit gray, 16-bit UV, 24-bit BGR or 32-bit BGRA).
- Note
- This function is a C++ wrapper for function SimdMidpointFilterSquare5x5.
- Parameters
-
[in] src - an original input image. [out] dst - a filtered output image.