Simd Library Documentation.

Home | Release Notes | Download | Documentation | Issues | GitHub
Simd Namespace Reference

Namespaces

namespace  Motion
 Contains a C++ framework for motion detection.
 
namespace  Pixel
 Contains various pixel structures.
 

Data Structures

struct  Allocator
 Aligned memory allocator for Simd C++ types and STL containers. More...
 
struct  ContourDetector
 ContourDetector structure extracts polyline contours from 8-bit gray images. More...
 
class  CpuDesc
 Describes type of description which can return function Simd.Lib.CpuDesc. More...
 
class  CpuInfo
 Describes type of information which can return function Simd.Lib.CpuInfo. More...
 
struct  Detection
 The Detection structure is a high-level C++ wrapper for object detection with HAAR and LBP cascade classifiers. More...
 
class  Font
 The Font class is a C++ wrapper for drawing ASCII text on images. More...
 
struct  Frame
 The Frame structure provides storage and manipulation of frames (multiplanar images). More...
 
class  FrameFormat
 Describes frame format type. More...
 
class  Image
 The Image class provides storage and manipulation of images. More...
 
class  ImageFile
 Describes formats of image file. More...
 
class  ImageFrame
 The ImageFrame class provides storage and manipulation of frames (multiplanar images). More...
 
struct  ImageMatcher
 The ImageMatcher structure provides a fast algorithm of searching of similar images. More...
 
class  Lib
 A wrapper around Simd Library API. More...
 
class  PixelFormat
 Describes pixel format type. More...
 
struct  Point
 The Point structure defines the x- and y-coordinates of a point. More...
 
class  Position
 Describes the position of the child sub image relative to the parent image. More...
 
struct  Pyramid
 The Pyramid structure provides storage and manipulation of pyramid images. More...
 
struct  Rectangle
 The Rectangle structure defines the positions of left, top, right and bottom sides of a rectangle. More...
 
class  ResizeChannel
 Describes resized image channel types. More...
 
class  ResizeMethod
 Describes methods used in order to resize image. More...
 
struct  ShiftDetector
 ShiftDetector structure provides shift detection of given region at the image. More...
 
class  ShiftDetectorDifference
 Describes types of function which used to find correlation between background and current image in function Simd.Lib.ShiftDetectorInitBuffers and in class Simd.ShiftingDetector. More...
 
class  ShiftDetectorTexture
 Describes types of texture which used to find correlation between background and current image in function Simd.Lib.ShiftDetectorInitBuffers and in class Simd.ShiftingDetector. More...
 
class  ShiftingDetector
 The ShiftingDetector class estimates shift between current and background images. More...
 
class  SynetAdd16b
 The SynetAdd16b class is a C++ wrapper of 16-bit (BF16/FP32) element-wise addition. More...
 
class  SynetConvolution16b
 The SynetConvolution16b class is a C++ wrapper of BF16/FP32 convolution. More...
 
class  SynetConvolution32f
 The SynetConvolution32f class is a C++ wrapper of FP32 convolution. More...
 
class  SynetConvolution8i
 The SynetConvolution8i class is a C++ wrapper of INT8 convolution. More...
 
class  SynetDeconvolution16b
 The SynetDeconvolution16b class is a C++ wrapper of BF16/FP32 deconvolution (transposed convolution). More...
 
class  SynetDeconvolution32f
 The SynetDeconvolution32f class is a C++ wrapper of FP32 deconvolution (transposed convolution). More...
 
class  SynetGatherElements
 The SynetGatherElements class is a C++ wrapper of ONNX-style GatherElements. More...
 
class  SynetInnerProduct16b
 The SynetInnerProduct16b class is a C++ wrapper of BF16/FP32 inner product (matrix multiplication). More...
 
class  SynetInnerProduct32f
 The SynetInnerProduct32f class is a C++ wrapper of FP32 inner product (matrix multiplication). More...
 
class  SynetMergedConvolution16b
 The SynetMergedConvolution16b class is a C++ wrapper of BF16/FP32 merged convolution. More...
 
class  SynetMergedConvolution32f
 The SynetMergedConvolution32f class is a C++ wrapper of FP32 merged convolution. More...
 
class  SynetMergedConvolution8i
 The SynetMergedConvolution8i class is a C++ wrapper of INT8 merged convolution. More...
 
class  SynetPermute
 The SynetPermute class is a C++ wrapper of tensor dimension permutation. More...
 
class  SynetQuantizedAdd
 The SynetQuantizedAdd class is a C++ wrapper of quantized (UINT8/FP32) element-wise addition. More...
 
class  SynetQuantizedConvolution
 The SynetQuantizedConvolution class is a C++ wrapper of UINT8 quantized convolution. More...
 
class  SynetQuantizedInnerProduct
 The SynetQuantizedInnerProduct class is a C++ wrapper of quantized UINT8/INT8 inner product (matrix multiplication). More...
 
class  SynetQuantizedMergedConvolution
 The SynetQuantizedMergedConvolution class is a C++ wrapper of UINT8 quantized merged convolution. More...
 
class  SynetQuantizedMul
 The SynetQuantizedMul class is a C++ wrapper of quantized (UINT8/FP32) element-wise multiplication. More...
 
class  SynetScale16b
 The SynetScale16b class is a C++ wrapper of FP32/BF16 scale and bias. More...
 
class  SynetScale8i
 The SynetScale8i class is a C++ wrapper of FP32/UINT8 scale and bias. More...
 
class  TensorData
 Describes tensor data type. More...
 
class  TensorFormat
 4D-tensor format type. More...
 
class  TextFont
 The TextFont class provides text drawing. More...
 
struct  View
 The View structure provides storage and manipulation of images. More...
 
class  WarpAffineFlags
 Describes Warp Affine flags. More...
 
class  YuvType
 Describes YUV format type. More...
 

Typedefs

typedef std::vector< size_t > Shape
 Tensor shape type definition.
 

Functions

template<typename T >
bool operator== (const Point< T > &p1, const Point< T > &p2)
 Compares two points on equality. More...
 
template<typename T >
bool operator!= (const Point< T > &p1, const Point< T > &p2)
 Compares two points on inequality. More...
 
template<typename T >
Point< T > operator+ (const Point< T > &p1, const Point< T > &p2)
 Adds two points. More...
 
template<typename T >
Point< T > operator- (const Point< T > &p1, const Point< T > &p2)
 Subtracts two points. More...
 
template<typename T >
Point< T > operator* (const Point< T > &p1, const Point< T > &p2)
 Multiplies two points. More...
 
template<typename T >
Point< T > operator/ (const Point< T > &p1, const Point< T > &p2)
 Divides two points. More...
 
template<typename T >
Point< T > operator- (const Point< T > &p)
 Returns point with coordinates with the opposite sign. More...
 
template<typename TP , typename TA >
Point< TP > operator/ (const Point< TP > &p, const TA &a)
 Divides the point on the scalar value. More...
 
template<typename TP , typename TA >
Point< TP > operator* (const Point< TP > &p, const TA &a)
 Multiplies the point on the scalar value. More...
 
template<typename TP , typename TA >
Point< TP > operator* (const TA &a, const Point< TP > &p)
 Multiplies the scalar value on the point. More...
 
template<typename T >
SquaredDistance (const Point< T > &p1, const Point< T > &p2)
 Gets squared distance between two points. More...
 
template<typename T >
double Distance (const Point< T > &p1, const Point< T > &p2)
 Gets distance between two points. More...
 
template<typename T >
DotProduct (const Point< T > &p1, const Point< T > &p2)
 Gets dot product of two points. More...
 
template<typename T >
CrossProduct (const Point< T > &p1, const Point< T > &p2)
 Gets cross product of two points. More...
 
template<typename T >
SIMD_INLINE bool operator== (const Point< T > &p1, const Point< T > &p2)
 Compares two points on equality. More...
 
template<typename T >
SIMD_INLINE bool operator!= (const Point< T > &p1, const Point< T > &p2)
 Compares two points on inequality. More...
 
template<typename T >
SIMD_INLINE Point< T > operator+ (const Point< T > &p1, const Point< T > &p2)
 Adds two points. More...
 
template<typename T >
SIMD_INLINE Point< T > operator- (const Point< T > &p1, const Point< T > &p2)
 Subtracts two points. More...
 
template<typename T >
SIMD_INLINE Point< T > operator* (const Point< T > &p1, const Point< T > &p2)
 Multiplies two points. More...
 
template<typename T >
SIMD_INLINE Point< T > operator/ (const Point< T > &p1, const Point< T > &p2)
 Divides two points. More...
 
template<typename T >
SIMD_INLINE Point< T > operator- (const Point< T > &p)
 Returns point with coordinates with the opposite sign. More...
 
template<typename TP , typename TA >
SIMD_INLINE Point< TP > operator/ (const Point< TP > &p, const TA &a)
 Divides the point on the scalar value. More...
 
template<typename TP , typename TA >
SIMD_INLINE Point< TP > operator* (const Point< TP > &p, const TA &a)
 Multiplies the point on the scalar value. More...
 
template<typename TP , typename TA >
SIMD_INLINE Point< TP > operator* (const TA &a, const Point< TP > &p)
 Multiplies the scalar value on the point. More...
 
template<typename T >
SIMD_INLINE T SquaredDistance (const Point< T > &p1, const Point< T > &p2)
 Gets squared distance between two points. More...
 
template<typename T >
SIMD_INLINE double Distance (const Point< T > &p1, const Point< T > &p2)
 Gets distance between two points. More...
 
template<typename T >
SIMD_INLINE T DotProduct (const Point< T > &p1, const Point< T > &p2)
 Gets dot product of two points. More...
 
template<typename T >
SIMD_INLINE T CrossProduct (const Point< T > &p1, const Point< T > &p2)
 Gets cross product of two points. More...
 
template<typename T >
bool operator== (const Rectangle< T > &r1, const Rectangle< T > &r2)
 Compares two rectangles on equality. More...
 
template<typename T >
bool operator!= (const Rectangle< T > &r1, const Rectangle< T > &r2)
 Compares two rectangles on inequality. More...
 
template<class T1 , class T2 >
Rectangle< T1 > operator/ (const Rectangle< T1 > &rect, const T2 &value)
 Divides the rectangle on the scalar value. More...
 
template<class T1 , class T2 >
Rectangle< T1 > operator* (const Rectangle< T1 > &rect, const T2 &value)
 Multiplies the rectangle on the scalar value. More...
 
template<class T1 , class T2 >
Rectangle< T1 > operator* (const T2 &value, const Rectangle< T1 > &rect)
 Multiplies the scalar value on the rectangle. More...
 
template<typename T >
Rectangle< T > operator+ (const Rectangle< T > &r1, const Rectangle< T > &r2)
 Sums the corresponding rectangle's coordinates of two rectangles.. More...
 
template<typename T >
SIMD_INLINE bool operator== (const Rectangle< T > &r1, const Rectangle< T > &r2)
 Compares two rectangles on equality. More...
 
template<typename T >
SIMD_INLINE bool operator!= (const Rectangle< T > &r1, const Rectangle< T > &r2)
 Compares two rectangles on inequality. More...
 
template<class T1 , class T2 >
SIMD_INLINE Rectangle< T1 > operator/ (const Rectangle< T1 > &rect, const T2 &value)
 Divides the rectangle on the scalar value. More...
 
template<class T1 , class T2 >
SIMD_INLINE Rectangle< T1 > operator* (const Rectangle< T1 > &rect, const T2 &value)
 Multiplies the rectangle on the scalar value. More...
 
template<class T1 , class T2 >
SIMD_INLINE Rectangle< T1 > operator* (const T2 &value, const Rectangle< T1 > &rect)
 Multiplies the scalar value on the rectangle. More...
 
template<class T >
SIMD_INLINE Rectangle< T > operator+ (const Rectangle< T > &r1, const Rectangle< T > &r2)
 Sums the corresponding rectangle's coordinates of two rectangles.. More...
 
template<template< class > class A, class T >
const T & At (const View< A > &view, size_t x, size_t y)
 
template<template< class > class A, class T >
T & At (View< A > &view, size_t x, size_t y)
 
template<template< class > class A, template< class > class B>
bool EqualSize (const View< A > &a, const View< B > &b)
 
template<template< class > class A>
bool EqualSize (const View< A > &a, const View< A > &b, const View< A > &c)
 
template<template< class > class A>
bool EqualSize (const View< A > &a, const View< A > &b, const View< A > &c, const View< A > &d)
 
template<template< class > class A, template< class > class B>
bool Compatible (const View< A > &a, const View< B > &b)
 
template<template< class > class A>
bool Compatible (const View< A > &a, const View< A > &b, const View< A > &c)
 
template<template< class > class A>
bool Compatible (const View< A > &a, const View< A > &b, const View< A > &c, const View< A > &d)
 
template<template< class > class A>
bool Compatible (const View< A > &a, const View< A > &b, const View< A > &c, const View< A > &d, const View< A > &e)
 
template<template< class > class A, template< class > class B>
SIMD_INLINE bool EqualSize (const View< A > &a, const View< B > &b)
 
template<template< class > class A>
SIMD_INLINE bool EqualSize (const View< A > &a, const View< A > &b, const View< A > &c)
 
template<template< class > class A>
SIMD_INLINE bool EqualSize (const View< A > &a, const View< A > &b, const View< A > &c, const View< A > &d)
 
template<template< class > class A, template< class > class B>
SIMD_INLINE bool Compatible (const View< A > &a, const View< B > &b)
 
template<template< class > class A>
SIMD_INLINE bool Compatible (const View< A > &a, const View< A > &b, const View< A > &c)
 
template<template< class > class A>
SIMD_INLINE bool Compatible (const View< A > &a, const View< A > &b, const View< A > &c, const View< A > &d)
 
template<template< class > class A>
SIMD_INLINE bool Compatible (const View< A > &a, const View< A > &b, const View< A > &c, const View< A > &d, const View< A > &e)
 
SIMD_INLINE void PrintInfo (std::ostream &os)
 Prints Simd Library version and runtime CPU/system capabilities. More...
 
template<template< class > class A>
SIMD_INLINE void AbsDifference (const View< A > &a, const View< A > &b, View< A > &c)
 Calculates per-pixel absolute difference of two gray 8-bit images. More...
 
template<template< class > class A>
SIMD_INLINE void AbsDifferenceSum (const View< A > &a, const View< A > &b, uint64_t &sum)
 Calculates sum of absolute differences (SAD) of two gray 8-bit images. More...
 
template<template< class > class A>
SIMD_INLINE void AbsDifferenceSum (const View< A > &a, const View< A > &b, const View< A > &mask, uint8_t index, uint64_t &sum)
 Gets sum of absolute difference of two gray 8-bit images based on gray 8-bit mask. More...
 
template<template< class > class A>
SIMD_INLINE void AbsDifferenceSums3x3 (const View< A > &current, const View< A > &background, uint64_t *sums)
 Calculates 9 sums of absolute differences for all shifts in 3x3 neighborhood. More...
 
template<template< class > class A>
SIMD_INLINE void AbsDifferenceSums3x3 (const View< A > &current, const View< A > &background, const View< A > &mask, uint8_t index, uint64_t *sums)
 Gets 9 sums of absolute difference of two gray 8-bit images with various relative shifts in neighborhood 3x3 based on gray 8-bit mask. More...
 
template<template< class > class A>
SIMD_INLINE void AbsGradientSaturatedSum (const View< A > &src, View< A > &dst)
 Calculates saturated sum of horizontal and vertical absolute gradients for each pixel of 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void AddFeatureDifference (const View< A > &value, const View< A > &lo, const View< A > &hi, uint16_t weight, View< A > &difference)
 Accumulates weighted feature difference into 8-bit difference map. More...
 
template<template< class > class A>
SIMD_INLINE void AlphaBlending (const View< A > &src, const View< A > &alpha, View< A > &dst)
 Blends source image over destination image using per-pixel 8-bit alpha mask. More...
 
template<template< class > class A>
SIMD_INLINE void AlphaBlending2x (const View< A > &src0, const View< A > &alpha0, const View< A > &src1, const View< A > &alpha1, View< A > &dst)
 Performs two sequential alpha blendings of source images over destination image. More...
 
template<template< class > class A>
SIMD_INLINE void AlphaBlendingBgraToYuv420p (const View< A > &bgra, View< A > &y, View< A > &u, View< A > &v, SimdYuvType yuvType=SimdYuvBt601)
 Converts BGRA to YUV420P and alpha-blends it with destination Y, U and V planes. More...
 
template<template< class > class A>
SIMD_INLINE void AlphaBlending (const View< A > &src, uint8_t alpha, View< A > &dst)
 Performs alpha blending operation. More...
 
template<template< class > class A, class Pixel >
SIMD_INLINE void AlphaFilling (View< A > &dst, const Pixel &pixel, const View< A > &alpha)
 Blends constant pixel value into destination image using per-pixel 8-bit alpha mask. More...
 
template<template< class > class A>
SIMD_INLINE void AlphaPremultiply (const View< A > &src, View< A > &dst)
 Converts straight-alpha 4-channel image to premultiplied-alpha representation. More...
 
template<template< class > class A>
SIMD_INLINE void AlphaUnpremultiply (const View< A > &src, View< A > &dst)
 Converts premultiplied-alpha 4-channel image to straight-alpha representation. More...
 
template<template< class > class A>
SIMD_INLINE void BackgroundGrowRangeSlow (const View< A > &value, View< A > &lo, View< A > &hi)
 Performs slow expansion of background range. More...
 
template<template< class > class A>
SIMD_INLINE void BackgroundGrowRangeFast (const View< A > &value, View< A > &lo, View< A > &hi)
 Performs fast expansion of background range. More...
 
template<template< class > class A>
SIMD_INLINE void BackgroundIncrementCount (const View< A > &value, const View< A > &loValue, const View< A > &hiValue, View< A > &loCount, View< A > &hiCount)
 Collects background out-of-range statistics. More...
 
template<template< class > class A>
SIMD_INLINE void BackgroundAdjustRange (View< A > &loCount, View< A > &loValue, View< A > &hiCount, View< A > &hiValue, uint8_t threshold)
 Adjusts background range using collected counters. More...
 
template<template< class > class A>
SIMD_INLINE void BackgroundAdjustRange (View< A > &loCount, View< A > &loValue, View< A > &hiCount, View< A > &hiValue, uint8_t threshold, const View< A > &mask)
 Adjusts background range using collected counters and a mask. More...
 
template<template< class > class A>
SIMD_INLINE void BackgroundShiftRange (const View< A > &value, View< A > &lo, View< A > &hi)
 Shifts background range to include current value. More...
 
template<template< class > class A>
SIMD_INLINE void BackgroundShiftRange (const View< A > &value, View< A > &lo, View< A > &hi, const View< A > &mask)
 Shifts background range to include current value using a mask. More...
 
template<template< class > class A>
SIMD_INLINE void BackgroundInitMask (const View< A > &src, uint8_t index, uint8_t value, View< A > &dst)
 Initializes background update mask by selected source index. More...
 
SIMD_INLINE std::string Base64Decode (const std::string &src)
 Decodes a Base64-encoded string into its original binary data. More...
 
SIMD_INLINE std::string Base64Encode (const std::string &src)
 Encodes binary data into a Base64 string. More...
 
template<template< class > class A>
SIMD_INLINE void BayerToBgr (const View< A > &bayer, View< A > &bgr)
 Converts an 8-bit Bayer image to a 24-bit BGR image using edge-directed demosaicing. More...
 
template<template< class > class A>
SIMD_INLINE void BayerToBgra (const View< A > &bayer, View< A > &bgra, uint8_t alpha=0xFF)
 Converts an 8-bit Bayer image to a 32-bit BGRA image using edge-directed demosaicing. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToBayer (const View< A > &bgra, View< A > &bayer)
 Converts a 32-bit BGRA image to an 8-bit Bayer image by sub-sampling color channels. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToBgr (const View< A > &bgra, View< A > &bgr)
 Converts a 32-bit BGRA image to a 24-bit BGR image by dropping the alpha channel. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToGray (const View< A > &bgra, View< A > &gray)
 Converts a 32-bit BGRA image to an 8-bit grayscale image. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToRgb (const View< A > &bgra, View< A > &rgb)
 Converts a 32-bit BGRA image to a 24-bit RGB image by swapping the Red and Blue channels and dropping the alpha channel. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToRgba (const View< A > &bgra, View< A > &rgba)
 Converts a 32-bit BGRA image to a 32-bit RGBA image by swapping the Red and Blue channels while preserving the alpha channel. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToYuv420p (const View< A > &bgra, View< A > &y, View< A > &u, View< A > &v, SimdYuvType yuvType=SimdYuvBt601)
 Converts a 32-bit BGRA image to planar YUV420P (4:2:0) and ignores input alpha. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToYuv422p (const View< A > &bgra, View< A > &y, View< A > &u, View< A > &v, SimdYuvType yuvType=SimdYuvBt601)
 Converts a 32-bit BGRA image to planar YUV422P (4:2:2) and ignores input alpha. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToYuv444p (const View< A > &bgra, View< A > &y, View< A > &u, View< A > &v, SimdYuvType yuvType=SimdYuvBt601)
 Converts a 32-bit BGRA image to planar YUV444P (4:4:4) and ignores input alpha. More...
 
template<template< class > class A>
SIMD_INLINE void BgraToYuva420p (const View< A > &bgra, View< A > &y, View< A > &u, View< A > &v, View< A > &a, SimdYuvType yuvType=SimdYuvBt601)
 Converts a 32-bit BGRA image to planar YUVA420P (YUV 4:2:0 plus full-size alpha plane). More...
 
template<template< class > class A>
SIMD_INLINE void BgrToBayer (const View< A > &bgr, View< A > &bayer)
 Converts a 24-bit BGR image to an 8-bit Bayer image by sub-sampling color channels. More...
 
template<template< class > class A>
SIMD_INLINE void BgrToBgra (const View< A > &bgr, View< A > &bgra, uint8_t alpha=0xFF)
 Converts a 24-bit BGR image to a 32-bit BGRA image with constant alpha. More...
 
template<template< class > class A>
SIMD_INLINE void Bgr48pToBgra32 (const View< A > &blue, const View< A > &green, const View< A > &red, View< A > &bgra, uint8_t alpha=0xFF)
 Converts a planar 48-bit BGR image (three 16-bit planes) to a 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void BgrToGray (const View< A > &bgr, View< A > &gray)
 Converts a 24-bit BGR image to an 8-bit grayscale image. More...
 
template<template< class > class A>
SIMD_INLINE void BgrToHsl (const View< A > &bgr, View< A > &hsl)
 Converts a 24-bit BGR image to a 24-bit HSL (Hue, Saturation, Lightness) image. More...
 
template<template< class > class A>
SIMD_INLINE void BgrToHsv (const View< A > &bgr, View< A > &hsv)
 Converts a 24-bit BGR image to a 24-bit HSV (Hue, Saturation, Value) image. More...
 
template<template< class > class A>
SIMD_INLINE void BgrToLab (const View< A > &bgr, View< A > &lab)
 Converts a 24-bit BGR image to a 24-bit CIELAB image. More...
 
template<template< class > class A>
SIMD_INLINE void BgrToRgb (const View< A > &bgr, View< A > &rgb)
 Converts a 24-bit BGR image to a 24-bit RGB image by swapping the Red and Blue channels. More...
 
template<template< class > class A>
SIMD_INLINE void BgrToRgba (const View< A > &bgr, View< A > &rgba, uint8_t alpha=0xFF)
 Converts a 24-bit BGR image to a 32-bit RGBA image by swapping the Red and Blue channels and adding constant alpha. More...
 
template<template< class > class A>
SIMD_INLINE void BgrToYuv420p (const View< A > &bgr, View< A > &y, View< A > &u, View< A > &v, SimdYuvType yuvType=SimdYuvBt601)
 Converts a 24-bit BGR image to planar YUV420P (4:2:0). More...
 
template<template< class > class A>
SIMD_INLINE void BgrToYuv422p (const View< A > &bgr, View< A > &y, View< A > &u, View< A > &v, SimdYuvType yuvType=SimdYuvBt601)
 Converts a 24-bit BGR image to planar YUV422P (4:2:2). More...
 
template<template< class > class A>
SIMD_INLINE void BgrToYuv444p (const View< A > &bgr, View< A > &y, View< A > &u, View< A > &v, SimdYuvType yuvType=SimdYuvBt601)
 Converts a 24-bit BGR image to planar YUV444P (4:4:4). More...
 
template<template< class > class A>
SIMD_INLINE void Binarization (const View< A > &src, uint8_t value, uint8_t positive, uint8_t negative, View< A > &dst, SimdCompareType compareType)
 Performs per-pixel binarization of an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void AveragingBinarization (const View< A > &src, uint8_t value, size_t neighborhood, uint8_t threshold, uint8_t positive, uint8_t negative, View< A > &dst, SimdCompareType compareType)
 Performs neighborhood-based binarization of an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void AveragingBinarizationV2 (const View< A > &src, size_t neighborhood, int32_t shift, uint8_t positive, uint8_t negative, View< A > &dst)
 Performs adaptive mean-like binarization of an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void ConditionalCount8u (const View< A > &src, uint8_t value, SimdCompareType compareType, uint32_t &count)
 Counts the number of pixels in an 8-bit gray image that satisfy a given comparison condition against a reference value. More...
 
template<template< class > class A>
SIMD_INLINE void ConditionalCount16i (const View< A > &src, int16_t value, SimdCompareType compareType, uint32_t &count)
 Counts the number of pixels in a 16-bit signed integer image that satisfy a given comparison condition against a reference value. More...
 
template<template< class > class A>
SIMD_INLINE void ConditionalSum (const View< A > &src, const View< A > &mask, uint8_t value, SimdCompareType compareType, uint64_t &sum)
 Calculates the sum of pixels in a source image at positions where the corresponding mask pixels satisfy a given comparison condition. More...
 
template<template< class > class A>
SIMD_INLINE void ConditionalSquareSum (const View< A > &src, const View< A > &mask, uint8_t value, SimdCompareType compareType, uint64_t &sum)
 Calculates the sum of squared pixel values in a source image at positions where the corresponding mask pixels satisfy a given comparison condition. More...
 
template<template< class > class A>
SIMD_INLINE void ConditionalSquareGradientSum (const View< A > &src, const View< A > &mask, uint8_t value, SimdCompareType compareType, uint64_t &sum)
 Calculates the sum of squared gradient magnitudes in a source image at positions where the corresponding mask pixels satisfy a given comparison condition. More...
 
template<template< class > class A>
SIMD_INLINE void ConditionalFill (const View< A > &src, uint8_t threshold, SimdCompareType compareType, uint8_t value, View< A > &dst)
 Fills pixels of an 8-bit gray destination image with a given value at positions where the corresponding source pixels satisfy a given comparison condition. Pixels that do not satisfy the condition are left unchanged. More...
 
template<template< class > class A, template< class > class B>
SIMD_INLINE void Copy (const View< A > &src, View< B > &dst)
 Copies pixel data row by row from a source image to a destination image. More...
 
template<template< class > class A>
SIMD_INLINE void CopyFrame (const View< A > &src, const Rectangle< ptrdiff_t > &frame, View< A > &dst)
 Copies the outer frame region of a source image to the destination image, leaving the interior rectangle untouched. More...
 
template<template< class > class A>
SIMD_INLINE void DeinterleaveUv (const View< A > &uv, View< A > &u, View< A > &v)
 Deinterleaves a 16-bit UV interleaved image into one or two separated 8-bit U and V planar images. More...
 
template<template< class > class A>
SIMD_INLINE void DeinterleaveBgr (const View< A > &bgr, View< A > &b, View< A > &g, View< A > &r)
 Deinterleaves a 24-bit BGR interleaved image into one, two or three separated 8-bit Blue, Green and Red planar images. More...
 
template<template< class > class A>
SIMD_INLINE void DeinterleaveBgra (const View< A > &bgra, View< A > &b, View< A > &g, View< A > &r, View< A > &a)
 Deinterleaves a 32-bit BGRA interleaved image into one, two, three or four separated 8-bit Blue, Green, Red and Alpha planar images. More...
 
template<template< class > class A>
SIMD_INLINE void DeinterleaveRgb (const View< A > &rgb, View< A > &r, View< A > &g, View< A > &b)
 Deinterleaves a 24-bit RGB interleaved image into one, two or three separated 8-bit Red, Green and Blue planar images. More...
 
template<template< class > class A>
SIMD_INLINE void DeinterleaveRgba (const View< A > &rgba, View< A > &r, View< A > &g, View< A > &b, View< A > &a)
 Deinterleaves a 32-bit RGBA interleaved image into one, two, three or four separated 8-bit Red, Green, Blue and Alpha planar images. More...
 
template<template< class > class A>
SIMD_INLINE void Fill (View< A > &dst, uint8_t value)
 Fills every byte of image pixel data with the given 8-bit value. More...
 
template<template< class > class A>
SIMD_INLINE void FillFrame (View< A > &dst, const Rectangle< ptrdiff_t > &frame, uint8_t value)
 Fills image pixel data outside of the given inner frame with the given 8-bit value. More...
 
template<template< class > class A>
SIMD_INLINE void FillBgr (View< A > &dst, uint8_t blue, uint8_t green, uint8_t red)
 Fills every pixel of a 24-bit BGR image with the given color. More...
 
template<template< class > class A>
SIMD_INLINE void FillBgra (View< A > &dst, uint8_t blue, uint8_t green, uint8_t red, uint8_t alpha=0xFF)
 Fills every pixel of a 32-bit BGRA image with the given color. More...
 
template<template< class > class A, class Pixel >
SIMD_INLINE void FillPixel (View< A > &dst, const Pixel &pixel)
 Fills every image pixel with the given pixel value. More...
 
template<template< class > class A>
SIMD_INLINE void GaussianBlur3x3 (const View< A > &src, View< A > &dst)
 Performs 3x3 Gaussian blur for an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void GrayToBgr (const View< A > &gray, View< A > &bgr)
 Converts an 8-bit gray image to a 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void GrayToRgb (const View< A > &gray, View< A > &rgb)
 Converts an 8-bit gray image to a 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 an 8-bit gray image to a 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 an 8-bit gray image to a 32-bit RGBA image. More...
 
template<template< class > class A>
SIMD_INLINE void GrayToY (const View< A > &gray, View< A > &y)
 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 AbsSecondDerivativeHistogram (const View< A > &src, size_t step, size_t indent, uint32_t *histogram)
 Calculates a histogram of second-derivative magnitudes for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void Histogram (const View< A > &src, uint32_t *histogram)
 Calculates a histogram for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void HistogramMasked (const View< A > &src, const View< A > &mask, uint8_t index, uint32_t *histogram)
 Calculates a masked histogram for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void HistogramConditional (const View< A > &src, const View< A > &mask, uint8_t value, SimdCompareType compareType, uint32_t *histogram)
 Calculates a conditional masked histogram for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void ChangeColors (const View< A > &src, const uint8_t *colors, View< A > &dst)
 Applies an 8-bit lookup table to an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void NormalizeHistogram (const View< A > &src, View< A > &dst)
 Performs histogram equalization for an 8-bit gray image. More...
 
SIMD_INLINE double Mean (const uint32_t *histogram)
 Calculates the mean gray level from a 256-bin image histogram. More...
 
SIMD_INLINE uint8_t OtsuThreshold (const uint32_t *histogram)
 Calculates an Otsu threshold from a 256-bin image histogram. More...
 
template<template< class > class A>
SIMD_INLINE void Int16ToGray (const View< A > &src, View< A > &dst)
 Converts a 16-bit signed integer image to an 8-bit gray image with saturation. More...
 
template<template< class > class A>
SIMD_INLINE void Integral (const View< A > &src, View< A > &sum)
 Calculates a sum integral image for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void Integral (const View< A > &src, View< A > &sum, View< A > &sqsum)
 Calculates sum and square-sum integral images for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void Integral (const View< A > &src, View< A > &sum, View< A > &sqsum, View< A > &tilted)
 Calculates sum, square-sum and tilted-sum integral images for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void InterleaveUv (const View< A > &u, const View< A > &v, View< A > &uv)
 Interleaves 8-bit U and V planar images into one 16-bit UV image. More...
 
template<template< class > class A>
SIMD_INLINE void InterleaveBgr (const View< A > &b, const View< A > &g, const View< A > &r, View< A > &bgr)
 Interleaves 8-bit Blue, Green and Red planar images into one 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void InterleaveBgra (const View< A > &b, const View< A > &g, const View< A > &r, const View< A > &a, View< A > &bgra)
 Interleaves 8-bit Blue, Green, Red and Alpha planar images into one 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Laplace (const View< A > &src, View< A > &dst)
 Calculates a signed 3x3 Laplace filter for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void LaplaceAbs (const View< A > &src, View< A > &dst)
 Calculates the absolute value of a 3x3 Laplace filter for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void LaplaceAbsSum (const View< A > &src, uint64_t &sum)
 Calculates the sum of absolute 3x3 Laplace values for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void LbpEstimate (const View< A > &src, View< A > &dst)
 Calculates LBP (Local Binary Pattern) codes for an 8-bit gray image. More...
 
SIMD_INLINE void LitterCpuCache (size_t k=2)
 Allocates and fills a large temporary buffer to litter the CPU cache. More...
 
template<template< class > class A>
SIMD_INLINE void MaxFilterSquare3x3 (const View< A > &src, View< A > &dst, int threshold=1)
 Performs thresholded 3x3 square maximum filtering of an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MaxFilterSquare5x5 (const View< A > &src, View< A > &dst, int threshold=1)
 Performs thresholded 5x5 square maximum filtering of an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MinFilterSquare3x3 (const View< A > &src, View< A > &dst, int threshold=1)
 Performs thresholded 3x3 square minimum filtering of an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MinFilterSquare5x5 (const View< A > &src, View< A > &dst, int threshold=1)
 Performs thresholded 5x5 square minimum filtering of an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MeanFilter3x3 (const View< A > &src, View< A > &dst)
 Performs 3x3 mean filtering of an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MedianFilterRhomb3x3 (const View< A > &src, View< A > &dst)
 Performs median filtering with a 3x3 rhomb window for an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MedianFilterRhomb5x5 (const View< A > &src, View< A > &dst)
 Performs median filtering with a 5x5 rhomb window for an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MedianFilterSquare3x3 (const View< A > &src, View< A > &dst)
 Performs median filtering with a 3x3 square window for an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MedianFilterSquare5x5 (const View< A > &src, View< A > &dst)
 Performs median filtering with a 5x5 square window for an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MidpointFilterSquare3x3 (const View< A > &src, View< A > &dst)
 Performs 3x3 square midpoint filtering of an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void MidpointFilterSquare5x5 (const View< A > &src, View< A > &dst)
 Performs 5x5 square midpoint filtering of an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void OperationBinary8u (const View< A > &a, const View< A > &b, View< A > &dst, SimdOperationBinary8uType type)
 Performs an element-wise binary operation between two 8-bit images. More...
 
template<template< class > class A>
SIMD_INLINE void OperationBinary16i (const View< A > &a, const View< A > &b, View< A > &dst, SimdOperationBinary16iType type)
 Performs an element-wise binary operation between two signed 16-bit images. More...
 
template<template< class > class A>
SIMD_INLINE void CreateMask (const uint8_t *vertical, const uint8_t *horizontal, View< A > &dst)
 Calculates an 8-bit gray image as the normalized outer product of two 8-bit vectors. More...
 
template<template< class > class A>
SIMD_INLINE void RecursiveBilateralFilter (const View< A > &src, View< A > &dst, float sigmaSpatial, float sigmaRange, SimdRecursiveBilateralFilterFlags flags=SimdRecursiveBilateralFilterFast)
 Performs recursive bilateral filtering of an 8-bit interleaved image. More...
 
template<template< class > class A>
SIMD_INLINE void ReduceGray2x2 (const View< A > &src, View< A >const &dst)
 Reduces an 8-bit gray image by two using a 2x2 averaging window. More...
 
template<template< class > class A>
SIMD_INLINE void ReduceGray3x3 (const View< A > &src, View< A > &dst, bool compensation=true)
 Reduces an 8-bit gray image by two using a separable 3x3 Gaussian window. More...
 
template<template< class > class A>
SIMD_INLINE void ReduceGray4x4 (const View< A > &src, View< A > &dst)
 Reduces an 8-bit gray image by two using a separable 4x4 Gaussian-like window. More...
 
template<template< class > class A>
SIMD_INLINE void ReduceGray5x5 (const View< A > &src, View< A > &dst, bool compensation=true)
 Reduces an 8-bit gray image by two using a separable 5x5 Gaussian window. More...
 
template<template< class > class A>
SIMD_INLINE void ReduceGray (const View< A > &src, View< A > &dst, ::SimdReduceType reduceType, bool compensation=true)
 Reduces an 8-bit gray image by two with a selected averaging / Gaussian window. More...
 
template<template< class > class A>
SIMD_INLINE void Reduce2x2 (const View< A > &src, View< A > &dst)
 Reduces a multi-channel 8-bit image by two using a 2x2 averaging window. More...
 
template<template< class > class A>
SIMD_INLINE void Resize (const View< A > &src, View< A > &dst, ::SimdResizeMethodType method=::SimdResizeMethodBilinear)
 Resizes an image to the destination size using the selected interpolation method. More...
 
template<template< class > class A>
SIMD_INLINE void Resize (const View< A > &src, View< A > &dst, const Point< ptrdiff_t > &size, ::SimdResizeMethodType method=::SimdResizeMethodBilinear)
 Resizes an image to the given size using the selected interpolation method. More...
 
template<template< class > class A>
SIMD_INLINE void RgbToBgr (const View< A > &rgb, View< A > &bgr)
 Converts a 24-bit RGB image to a 24-bit BGR image by swapping the Red and Blue channels. More...
 
template<template< class > class A>
SIMD_INLINE void RgbToBgra (const View< A > &rgb, View< A > &bgra, uint8_t alpha=0xFF)
 Converts a 24-bit RGB image to a 32-bit BGRA image by swapping Red/Blue and adding constant alpha. More...
 
template<template< class > class A>
SIMD_INLINE void RgbToGray (const View< A > &rgb, View< A > &gray)
 Converts a 24-bit RGB image to an 8-bit grayscale image. More...
 
template<template< class > class A>
SIMD_INLINE void RgbToRgba (const View< A > &rgb, View< A > &rgba, uint8_t alpha=0xFF)
 Converts a 24-bit RGB image to a 32-bit RGBA image with constant alpha. More...
 
template<template< class > class A>
SIMD_INLINE void RgbaToBgr (const View< A > &rgba, View< A > &bgr)
 Converts a 32-bit RGBA image to a 24-bit BGR image by swapping Red/Blue and dropping alpha. More...
 
template<template< class > class A>
SIMD_INLINE void RgbaToBgra (const View< A > &rgba, View< A > &bgra)
 Converts a 32-bit RGBA image to a 32-bit BGRA image by swapping the Red and Blue channels. More...
 
template<template< class > class A>
SIMD_INLINE void RgbaToGray (const View< A > &rgba, View< A > &gray)
 Converts a 32-bit RGBA image to an 8-bit grayscale image. More...
 
template<template< class > class A>
SIMD_INLINE void RgbaToRgb (const View< A > &rgba, View< A > &rgb)
 Converts a 32-bit RGBA image to a 24-bit RGB image by dropping the alpha channel. More...
 
template<template< class > class A>
SIMD_INLINE void SegmentationChangeIndex (View< A > &mask, uint8_t oldIndex, uint8_t newIndex)
 Replaces one segmentation index with another inside a mask. More...
 
template<template< class > class A>
SIMD_INLINE void SegmentationFillSingleHoles (View< A > &mask, uint8_t index)
 Fills isolated single-pixel holes in a segmentation mask. More...
 
template<template< class > class A>
SIMD_INLINE void SegmentationPropagate2x2 (const View< A > &parent, View< A > &child, const View< A > &difference, uint8_t currentIndex, uint8_t invalidIndex, uint8_t emptyIndex, uint8_t differenceThreshold)
 Propagates a segmentation index from a parent mask pyramid level to a child level. More...
 
template<template< class > class A>
SIMD_INLINE void SegmentationShrinkRegion (const View< A > &mask, uint8_t index, Rectangle< ptrdiff_t > &rect)
 Shrinks a rectangular region to the bounding box of a mask index. More...
 
template<template< class > class A>
SIMD_INLINE void ShiftBilinear (const View< A > &src, const View< A > &bkg, const Point< double > &shift, const Rectangle< ptrdiff_t > &crop, View< A > &dst)
 Shifts an image inside a crop rectangle with bilinear interpolation. More...
 
template<template< class > class A>
SIMD_INLINE void SobelDx (const View< A > &src, View< A > &dst)
 Calculates the horizontal Sobel derivative of an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void SobelDxAbs (const View< A > &src, View< A > &dst)
 Calculates the absolute horizontal Sobel derivative of an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void SobelDxAbsSum (const View< A > &src, uint64_t &sum)
 Calculates the sum of absolute horizontal Sobel derivatives. More...
 
template<template< class > class A>
SIMD_INLINE void SobelDy (const View< A > &src, View< A > &dst)
 Calculates the vertical Sobel derivative of an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void SobelDyAbs (const View< A > &src, View< A > &dst)
 Calculates the absolute vertical Sobel derivative of an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void SobelDyAbsSum (const View< A > &src, uint64_t &sum)
 Calculates the sum of absolute vertical Sobel derivatives. More...
 
template<template< class > class A>
SIMD_INLINE void ContourMetrics (const View< A > &src, View< A > &dst)
 Calculates contour metrics from horizontal and vertical Sobel derivatives. More...
 
template<template< class > class A>
SIMD_INLINE void ContourMetrics (const View< A > &src, const View< A > &mask, uint8_t indexMin, View< A > &dst)
 Calculates masked contour metrics from horizontal and vertical Sobel derivatives. More...
 
template<template< class > class A>
SIMD_INLINE void ContourAnchors (const View< A > &src, size_t step, int16_t threshold, View< A > &dst)
 Extracts contour anchor points from packed contour metrics. More...
 
template<template< class > class A>
SIMD_INLINE void SquaredDifferenceSum (const View< A > &a, const View< A > &b, uint64_t &sum)
 Calculates the sum of squared differences for two 8-bit gray images. More...
 
template<template< class > class A>
SIMD_INLINE void SquaredDifferenceSum (const View< A > &a, const View< A > &b, const View< A > &mask, uint8_t index, uint64_t &sum)
 Calculates the masked sum of squared differences for two 8-bit gray images. More...
 
template<template< class > class A>
SIMD_INLINE void GetStatistic (const View< A > &src, uint8_t &min, uint8_t &max, uint8_t &average)
 Finds minimal, maximal and rounded average pixel values for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void GetMoments (const View< A > &mask, uint8_t index, uint64_t &area, uint64_t &x, uint64_t &y, uint64_t &xx, uint64_t &xy, uint64_t &yy)
 Calculates geometric moments of mask pixels with a given index. More...
 
template<template< class > class A>
SIMD_INLINE void GetObjectMoments (const View< A > &src, const View< A > &mask, uint8_t index, uint64_t &n, uint64_t &s, uint64_t &sx, uint64_t &sy, uint64_t &sxx, uint64_t &sxy, uint64_t &syy)
 Calculates weighted geometric moments of an object. More...
 
template<template< class > class A>
SIMD_INLINE void GetRowSums (const View< A > &src, uint32_t *sums)
 Calculates row sums for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void GetColSums (const View< A > &src, uint32_t *sums)
 Calculates column sums for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void GetAbsDyRowSums (const View< A > &src, uint32_t *sums)
 Calculates row sums of absolute vertical differences for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void GetAbsDxColSums (const View< A > &src, uint32_t *sums)
 Calculates column sums of absolute horizontal differences for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void ValueSum (const View< A > &src, uint64_t &sum)
 Calculates the sum of pixel values for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void SquareSum (const View< A > &src, uint64_t &sum)
 Calculates the sum of squared pixel values for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void ValueSquareSum (const View< A > &src, uint64_t &valueSum, uint64_t &squareSum)
 Calculates value sum and squared value sum for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void ValueSquareSums (const View< A > &src, uint64_t *valueSums, uint64_t *squareSums)
 Calculates per-channel value sums and squared value sums for an 8-bit image. More...
 
template<template< class > class A>
SIMD_INLINE void CorrelationSum (const View< A > &a, const View< A > &b, uint64_t &sum)
 Calculates the sum of pixel-wise products for two 8-bit gray images. More...
 
template<template< class > class A>
SIMD_INLINE void StretchGray2x2 (const View< A > &src, View< A > &dst)
 Stretches an 8-bit gray image by two in both dimensions using pixel replication. More...
 
template<template< class > class A>
SIMD_INLINE void SynetSetInput (const View< A > &src, const float *lower, const float *upper, float *dst, size_t channels, SimdTensorFormatType format, bool isRgb=false)
 Converts an 8-bit image to normalized FP32 neural-network input tensor. More...
 
template<template< class > class A>
SIMD_INLINE void TextureBoostedSaturatedGradient (const View< A > &src, uint8_t saturation, uint8_t boost, View< A > &dx, View< A > &dy)
 Calculates boosted saturated horizontal and vertical gradients for an 8-bit gray image. More...
 
template<template< class > class A>
SIMD_INLINE void TextureBoostedUv (const View< A > &src, uint8_t boost, View< A > &dst)
 Calculates boosted colorized texture feature of an 8-bit gray image (actual for U and V components of YUV format). More...
 
template<template< class > class A>
SIMD_INLINE void TextureGetDifferenceSum (const View< A > &src, const View< A > &lo, const View< A > &hi, int64_t &sum)
 Calculates sum of differences between current image and background range center. More...
 
template<template< class > class A>
SIMD_INLINE void TexturePerformCompensation (const View< A > &src, int shift, View< A > &dst)
 Adds signed brightness shift to an 8-bit gray image with saturation. More...
 
SIMD_INLINE Point< ptrdiff_t > TransformSize (const Point< ptrdiff_t > &size, ::SimdTransformType transform)
 Returns the size of an image after transformation defined by SimdTransformType. More...
 
template<template< class > class A>
SIMD_INLINE void TransformImage (const View< A > &src, ::SimdTransformType transform, View< A > &dst)
 Copies, rotates, mirrors or transposes an image according to SimdTransformType. More...
 
template<template< class > class A>
SIMD_INLINE void Uyvy422ToBgr (const View< A > &uyvy, View< A > &bgr, SimdYuvType yuvType=SimdYuvBt601)
 Converts a 16-bit UYVY422 image to a 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void Uyvy422ToYuv420p (const View< A > &uyvy, View< A > &y, View< A > &u, View< A > &v)
 Converts a 16-bit UYVY422 image to planar YUV420P. More...
 
template<template< class > class A>
SIMD_INLINE void WarpAffine (const View< A > &src, const float *mat, View< A > &dst, SimdWarpAffineFlags flags=(SimdWarpAffineFlags)(SimdWarpAffineChannelByte|SimdWarpAffineInterpBilinear|SimdWarpAffineBorderConstant), const uint8_t *border=NULL)
 Performs warp affine transformation of an 8-bit image. More...
 
SIMD_INLINE bool InvertAffineTransform (const float *src, float *dst)
 Inverts a 2x3 affine transform matrix. More...
 
template<template< class > class A>
SIMD_INLINE void YToGray (const View< A > &y, View< A > &gray)
 Converts an 8-bit limited-range Y plane to an 8-bit full-range gray image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuva420pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, const View< A > &a, View< A > &bgra, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUVA 4:2:0 image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuva422pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, const View< A > &a, View< A > &bgra, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUVA 4:2:2 image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuva444pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, const View< A > &a, View< A > &bgra, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUVA 4:4:4 image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToBgr (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgr, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:2:0 image to 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv422pToBgr (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgr, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:2:2 image to 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToBgr (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgr, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:4:4 image to 24-bit BGR image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgra, uint8_t alpha=0xFF, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:2:0 image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv422pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgra, uint8_t alpha=0xFF, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:2:2 image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToBgra (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &bgra, uint8_t alpha=0xFF, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:4:4 image to 32-bit BGRA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToHsl (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &hsl)
 Converts 8-bit planar YUV 4:4:4 image to 24-bit HSL (Hue, Saturation, Lightness) image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToHsv (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &hsv)
 Converts 8-bit planar YUV 4:4:4 image to 24-bit HSV (Hue, Saturation, Value) image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToHue (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &hue)
 Converts 8-bit planar YUV 4:2:0 image to 8-bit image with Hue component of HSV or HSL color space. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToHue (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &hue)
 Converts 8-bit planar YUV 4:4:4 image to 8-bit image with Hue component of HSV or HSL color space. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToRgb (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &rgb, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:2:0 image to 24-bit RGB image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv422pToRgb (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &rgb, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:2:2 image to 24-bit RGB image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToRgb (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &rgb, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:4:4 image to 24-bit RGB image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv444pToRgba (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &rgba, uint8_t alpha=0xFF, SimdYuvType yuvType=SimdYuvBt601)
 Converts 8-bit planar YUV 4:4:4 image to 32-bit RGBA image. More...
 
template<template< class > class A>
SIMD_INLINE void Yuv420pToUyvy422 (const View< A > &y, const View< A > &u, const View< A > &v, View< A > &uyvy)
 Converts 8-bit planar YUV 4:2:0 image to 16-bit UYVY422 image. More...
 
template<template< class > class A>
SIMD_INLINE void Convert (const View< A > &src, View< A > &dst)
 Converts an image from one pixel format to another. More...
 
template<template< class > class A>
SIMD_INLINE void Fill (Pyramid< A > &pyramid, uint8_t value)
 Fills every level of a pyramid with the given 8-bit value. More...
 
template<template< class > class A>
SIMD_INLINE void Copy (const Pyramid< A > &src, Pyramid< A > &dst)
 Copies one pyramid to another pyramid. More...
 
template<template< class > class A>
SIMD_INLINE void Build (Pyramid< A > &pyramid, ::SimdReduceType reduceType, bool compensation=true)
 Builds a gray image pyramid by filling upper levels from the lowest level. More...
 
template<template< class > class A, template< class > class B>
bool EqualSize (const Frame< A > &a, const Frame< B > &b)
 
template<template< class > class A, template< class > class B>
bool Compatible (const Frame< A > &a, const Frame< B > &b)
 
template<template< class > class A, template< class > class B>
void Copy (const Frame< A > &src, Frame< B > &dst)
 Copies one frame to another frame. More...
 
template<template< class > class A>
void Convert (const Frame< A > &src, Frame< A > &dst)
 Converts one frame to another frame. More...
 
template<template< class > class A>
SIMD_INLINE void Resize (const Frame< A > &src, Frame< A > &dst, ::SimdResizeMethodType method=::SimdResizeMethodBilinear)
 Performs resizing of frame. More...
 
template<template< class > class A>
SIMD_INLINE void Resize (const Frame< A > &src, Frame< A > &dst, const Point< ptrdiff_t > &size, ::SimdResizeMethodType method=::SimdResizeMethodBilinear)
 Performs resizing of frame. More...
 
template<template< class > class A, template< class > class B>
SIMD_INLINE bool EqualSize (const Frame< A > &a, const Frame< B > &b)
 
template<template< class > class A, template< class > class B>
SIMD_INLINE bool Compatible (const Frame< A > &a, const Frame< B > &b)
 
template<template< class > class A, template< class > class B>
SIMD_INLINE void Copy (const Frame< A > &src, Frame< B > &dst)
 Copies one frame to another frame. More...
 
template<template< class > class A>
SIMD_INLINE void Convert (const Frame< A > &src, Frame< A > &dst)
 Converts one frame to another frame. More...
 
Point< ptrdiff_t > Scale (Point< ptrdiff_t > size, int scale=2)
 Scales size of an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawLine (View< A > &canvas, ptrdiff_t x1, ptrdiff_t y1, ptrdiff_t x2, ptrdiff_t y2, const Color &color, size_t width=1)
 Draws a clipped line segment on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawLine (View< A > &canvas, const Point< ptrdiff_t > &p1, const Point< ptrdiff_t > &p2, const Color &color, size_t width=1)
 Draws a clipped line segment on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawRectangle (View< A > &canvas, ptrdiff_t left, ptrdiff_t top, ptrdiff_t right, ptrdiff_t bottom, const Color &color, size_t width=1)
 Draws a clipped rectangle frame on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawRectangle (View< A > &canvas, const Rectangle< ptrdiff_t > &rect, const Color &color, size_t width=1)
 Draws a clipped rectangle frame on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawRectangle (View< A > &canvas, const Point< ptrdiff_t > &topLeft, const Point< ptrdiff_t > &bottomRight, const Color &color, size_t width=1)
 Draws a clipped rectangle frame on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawFilledRectangle (View< A > &canvas, Rectangle< ptrdiff_t > rect, const Color &color)
 Draws a filled rectangle on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawPolygon (View< A > &canvas, const std::vector< Simd::Point< ptrdiff_t > > &polygon, const Color &color, size_t width=1)
 Draws a clipped polygon frame on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawFilledPolygon (View< A > &canvas, const std::vector< Simd::Point< ptrdiff_t > > &polygon, const Color &color)
 Draws a filled polygon on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawEllipse (View< A > &canvas, const Point< ptrdiff_t > &center, const Point< ptrdiff_t > &axes, double slope, const Color &color, size_t width=1)
 Draws a clipped ellipse frame on an image. More...
 
template<template< class > class A, class Color >
SIMD_INLINE void DrawCircle (View< A > &canvas, const Point< ptrdiff_t > &center, ptrdiff_t radius, const Color &color, size_t width=1)
 Draws a clipped circle frame on an image. More...
 
Image AbsGradientSaturatedSum (Image src, Image dst)
 Gets 8-bit gray image saturated sum of absolute gradient for every point of source 8-bit gray image. More...
 
Image ReduceGray2x2 (Image src, Image dst)
 Reduces input 8-bit gray image in two times. More...
 
Image ReduceGray3x3 (Image src, Image dst, compensation=True)
 Reduces input 8-bit gray image in three times. More...
 
Image ReduceGray4x4 (Image src, Image dst)
 Reduces input 8-bit gray image in four times. More...
 
Image ReduceGray5x5 (Image src, Image dst, compensation=True)
 Reduces input 8-bit gray image in five times. More...
 
Image ReduceColor2x2 (Image src, Image dst)
 Reduces input 8-bit image in two times. More...
 
def ResizeImage (Image src, Image dst, method=Simd.ResizeMethod.Bilinear)
 The function performs image resizing. More...
 
Image ResizedImage (Image src, int width, int height, method=Simd.ResizeMethod.Bilinear)
 The function gets resized image. More...
 
def ResizeFrame (ImageFrame src, ImageFrame dst, method=Simd.ResizeMethod.Bilinear)
 The function performs image frame resizing. More...
 
ImageFrame ResizedFrame (ImageFrame src, int width, int height, method=Simd.ResizeMethod.Bilinear)
 The function gets resized image frame. More...
 
def ShiftBilinear (Image src, Image bkg, [float, float] shift, [int, int, int, int] crop, Image dst)
 The function performs image bilinear shift. More...
 
Image StretchGray2x2 (Image src, Image dst)
 Stretches input 8-bit gray image in two times. More...
 
def SynetSetInput (Image src, array.array('f') lower, array.array('f') upper, ctypes.c_void_p dst, int channels, Simd.TensorFormat format, isRgb=False)
 Sets image to the input of neural network of Synet Framework. More...
 
def WarpAffine (Image src, array.array('f') mat, Image dst, flags=(Simd.WarpAffineFlags.ChannelByte|Simd.WarpAffineFlags.InterpBilinear|Simd.WarpAffineFlags.BorderConstant), border=array.array('B', []))
 Performs warp affine for current image. More...
 
Image GaussianBlur3x3 (Image src, Image dst=None)
 Performs Gaussian blur filtration of image with using of 3x3 kernel. More...
 
Image GaussianBlur (Image src, Image dst=None, sigma=1.0, epsilon=None)
 Performs Gaussian blur filtration of image. More...
 
Image InterleaveBgr (Image b, Image g, Image r, Image dst=None)
 Interleaves separate 8-bit B, G and R planar images into 24-bit BGR interleaved image. More...
 
Image InterleaveBgra (Image b, Image g, Image r, Image a, Image dst=None)
 Interleaves separate 8-bit B, G, R and A planar images into 32-bit BGRA interleaved image. More...
 
(Image, Image, ImageDeinterleaveBgr (Image bgr, Image b=None, Image g=None, Image r=None)
 Deinterleaves 24-bit BGR interleaved image into separated 8-bit B, G and R planar images. More...
 
(Image, Image, Image, ImageDeinterleaveBgra (Image bgra, Image b=None, Image g=None, Image r=None, Image a=None)
 Deinterleaves 32-bit BGRA interleaved image into separated 8-bit B, G, R and A planar images. More...
 

Detailed Description

Simd API C++ wrappers.