Functions for Gray-8 image conversions. More...
Functions | |
| SIMD_API void | SimdGrayToBgr (const uint8_t *gray, size_t width, size_t height, size_t grayStride, uint8_t *bgr, size_t bgrStride) |
| Converts an 8-bit gray image to a 24-bit BGR image. More... | |
| SIMD_API void | SimdGrayToBgra (const uint8_t *gray, size_t width, size_t height, size_t grayStride, uint8_t *bgra, size_t bgraStride, uint8_t alpha) |
| Converts an 8-bit gray image to a 32-bit BGRA image. More... | |
| SIMD_API void | SimdGrayToY (const uint8_t *gray, size_t grayStride, size_t width, size_t height, uint8_t *y, size_t yStride) |
| Converts an 8-bit full-range gray image to an 8-bit limited-range Y plane. More... | |
| template<template< class > class A> | |
| SIMD_INLINE void | GrayToBgr (const View< A > &gray, View< A > &bgr) |
| Converts 8-bit gray image to 24-bit BGR image. More... | |
| template<template< class > class A> | |
| SIMD_INLINE void | GrayToRgb (const View< A > &gray, View< A > &rgb) |
| Converts 8-bit gray image to 24-bit RGB image. More... | |
| template<template< class > class A> | |
| SIMD_INLINE void | GrayToBgra (const View< A > &gray, View< A > &bgra, uint8_t alpha=0xFF) |
| Converts 8-bit gray image to 32-bit BGRA image. More... | |
| template<template< class > class A> | |
| SIMD_INLINE void | GrayToRgba (const View< A > &gray, View< A > &rgba, uint8_t alpha=0xFF) |
| Converts 8-bit gray image to 32-bit RGBA image. More... | |
| template<template< class > class A> | |
| SIMD_INLINE void | GrayToY (const View< A > &gray, View< A > &y) |
| Converts 8-bit gray image to 8-bit Y plane of YUV image. More... | |
Detailed Description
Functions for Gray-8 image conversions.
Function Documentation
◆ SimdGrayToBgr()
| void SimdGrayToBgr | ( | const uint8_t * | gray, |
| size_t | width, | ||
| size_t | height, | ||
| size_t | grayStride, | ||
| uint8_t * | bgr, | ||
| size_t | bgrStride | ||
| ) |
Converts an 8-bit gray image to a 24-bit BGR image.
For every pixel:
bgr[3*x + 0] = gray[x]; bgr[3*x + 1] = gray[x]; bgr[3*x + 2] = gray[x];
Since all color channels receive the same value, the function can also be used for gray to RGB conversion.
All images must have the same width and height.
- Note
- This function has C++ wrappers: Simd::GrayToBgr(const View<A>& gray, View<A>& bgr) and Simd::GrayToRgb(const View<A>& gray, View<A>& rgb).
- Parameters
-
[in] gray - a pointer to pixels data of input 8-bit gray image. [in] width - an image width. [in] height - an image height. [in] grayStride - a row size of the gray image (in bytes). [out] bgr - a pointer to pixels data of output 24-bit BGR (or 24-bit RGB) image. [in] bgrStride - a row size of the bgr image (in bytes).
◆ SimdGrayToBgra()
| void SimdGrayToBgra | ( | const uint8_t * | gray, |
| size_t | width, | ||
| size_t | height, | ||
| size_t | grayStride, | ||
| uint8_t * | bgra, | ||
| size_t | bgraStride, | ||
| uint8_t | alpha | ||
| ) |
Converts an 8-bit gray image to a 32-bit BGRA image.
For every pixel:
bgra[4*x + 0] = gray[x]; bgra[4*x + 1] = gray[x]; bgra[4*x + 2] = gray[x]; bgra[4*x + 3] = alpha;
Since all color channels receive the same value, the function can also be used for gray to RGBA conversion.
All images must have the same width and height.
- Note
- This function has C++ wrappers: Simd::GrayToBgra(const View<A>& gray, View<A>& bgra, uint8_t alpha) and Simd::GrayToRgba(const View<A>& gray, View<A>& rgba, uint8_t alpha).
- Parameters
-
[in] gray - a pointer to pixels data of input 8-bit gray image. [in] width - an image width. [in] height - an image height. [in] grayStride - a row size of the gray image (in bytes). [out] bgra - a pointer to pixels data of output 32-bit BGRA (or 32-bit RGBA) image. [in] bgraStride - a row size of the bgra image (in bytes). [in] alpha - a value of the alpha channel.
◆ SimdGrayToY()
| void SimdGrayToY | ( | const uint8_t * | gray, |
| size_t | grayStride, | ||
| size_t | width, | ||
| size_t | height, | ||
| uint8_t * | y, | ||
| size_t | yStride | ||
| ) |
Converts an 8-bit full-range gray image to an 8-bit limited-range Y plane.
For every pixel:
y[x] = RestrictRange(((220*gray[x] + 128) >> 8) + 16, 16, 235);
Thus gray value 0 maps to Y value 16, and gray value 255 maps to Y value 235.
All images must have the same width and height.
- Note
- This function has C++ wrappers: Simd::GrayToY(const View<A>& gray, View<A>& y).
- Parameters
-
[in] gray - a pointer to pixels data of input 8-bit gray image. [in] grayStride - a row size of the gray image (in bytes). [in] width - an image width. [in] height - an image height. [out] y - a pointer to pixels data of output 8-bit Y plane. [in] yStride - a row size of the y image (in bytes).
◆ GrayToBgr()
Converts 8-bit gray image to 24-bit BGR image.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdGrayToBgr.
- Parameters
-
[in] gray - an input 8-bit gray image. [out] bgr - an output 24-bit BGR image.
◆ GrayToRgb()
Converts 8-bit gray image to 24-bit RGB image.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdGrayToBgr.
- Parameters
-
[in] gray - an input 8-bit gray image. [out] rgb - an output 24-bit RGB image.
◆ GrayToBgra()
Converts 8-bit gray image to 32-bit BGRA image.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdGrayToBgra.
- Parameters
-
[in] gray - an input 8-bit gray image. [out] bgra - an output 32-bit BGRA image. [in] alpha - a value of alpha channel. It is equal to 255 by default.
◆ GrayToRgba()
Converts 8-bit gray image to 32-bit RGBA image.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdGrayToBgra.
- Parameters
-
[in] gray - an input 8-bit gray image. [out] rgba - an output 32-bit RGBA image. [in] alpha - a value of alpha channel. It is equal to 255 by default.
◆ GrayToY()
Converts 8-bit gray image to 8-bit Y plane of YUV image.
All images must have the same width and height.
- Note
- This function is a C++ wrapper for function SimdGrayToY.
- Parameters
-
[in] gray - an input 8-bit gray image. [out] y - an output 8-bit Y plane of YUV image.