OpenCV  4.0.0
Open Source Computer Vision
Modules | Namespaces | Classes | Macros | Typedefs | Enumerations | Functions
Utility and system functions and macros

Modules

 SSE utilities
 
 NEON utilities
 
 Softfloat support
 
 Utility functions for OpenCV samples
 

Namespaces

 cv
 "black box" representation of the file storage associated with a file on disk.
 
 cv::Error
 

Classes

class  cv::Allocator< _Tp >
 
class  cv::AutoBuffer< _Tp, fixed_size >
 Automatically Allocated Buffer Class. More...
 
class  cv::CommandLineParser
 Designed for command line parsing. More...
 
union  Cv16suf
 
union  Cv32suf
 
union  Cv64suf
 
class  cv::Exception
 Class passed to an error. More...
 
struct  cv::Hamming
 
class  cv::ParallelLoopBody
 Base class for parallel data processors. More...
 
class  cv::ParallelLoopBodyLambdaWrapper
 
class  cv::TickMeter
 a Class to measure passing time. More...
 
class  cv::TLSData< T >
 
class  cv::TLSDataContainer
 

Macros

#define CV_2PI   6.283185307179586476925286766559
 
#define CV_Assert(expr)   do { if(!!(expr)) ; else cv::error( cv::Error::StsAssert, #expr, CV_Func, __FILE__, __LINE__ ); } while(0)
 Checks a condition at runtime and throws exception if it fails. More...
 
#define CV_CONSTEXPR   const
 
#define CV_CPU_AVX   10
 
#define CV_CPU_AVX2   11
 
#define CV_CPU_AVX512_SKX   256
 
#define CV_CPU_AVX_512BW   14
 
#define CV_CPU_AVX_512CD   15
 
#define CV_CPU_AVX_512DQ   16
 
#define CV_CPU_AVX_512ER   17
 
#define CV_CPU_AVX_512F   13
 
#define CV_CPU_AVX_512IFMA   18
 
#define CV_CPU_AVX_512IFMA512   18
 
#define CV_CPU_AVX_512PF   19
 
#define CV_CPU_AVX_512VBMI   20
 
#define CV_CPU_AVX_512VL   21
 
#define CV_CPU_FMA3   12
 
#define CV_CPU_FP16   9
 
#define CV_CPU_MMX   1
 
#define CV_CPU_NEON   100
 
#define CV_CPU_NONE   0
 
#define CV_CPU_POPCNT   8
 
#define CV_CPU_SSE   2
 
#define CV_CPU_SSE2   3
 
#define CV_CPU_SSE3   4
 
#define CV_CPU_SSE4_1   6
 
#define CV_CPU_SSE4_2   7
 
#define CV_CPU_SSSE3   5
 
#define CV_CPU_VSX   200
 
#define CV_CXX_MOVE_SEMANTICS   1
 
#define CV_CXX_STD_ARRAY   1
 
#define CV_DbgAssert(expr)
 
#define CV_DECL_ALIGNED(x)
 
#define CV_ELEM_SIZE(type)   (CV_MAT_CN(type)*CV_ELEM_SIZE1(type))
 
#define CV_ELEM_SIZE1(type)   ((0x28442211 >> CV_MAT_DEPTH(type)*4) & 15)
 
#define CV_ENABLE_UNROLLED   1
 
#define CV_ENUM_CLASS_EXPOSE(EnumType, ...)   __CV_EXPAND(__CV_CAT(__CV_ENUM_CLASS_EXPOSE_, __CV_VA_NUM_ARGS(__VA_ARGS__))(EnumType, __VA_ARGS__)); \
 
#define CV_ENUM_FLAGS(EnumType)
 
#define CV_Error(code, msg)   cv::error( code, msg, CV_Func, __FILE__, __LINE__ )
 Call the error handler. More...
 
#define CV_Error_(code, args)   cv::error( code, cv::format args, CV_Func, __FILE__, __LINE__ )
 Call the error handler. More...
 
#define CV_EXPORTS_AS(synonym)   CV_EXPORTS
 
#define CV_EXPORTS_TEMPLATE   CV_EXPORTS
 
#define CV_EXPORTS_W   CV_EXPORTS
 
#define CV_EXPORTS_W_MAP   CV_EXPORTS
 
#define CV_EXPORTS_W_SIMPLE   CV_EXPORTS
 
#define CV_EXTERN_C   extern "C"
 
#define CV_FINAL   final
 
#define CV_FP16_TYPE   0
 
#define CV_Func   ""
 
#define CV_HARDWARE_MAX_FEATURE   512
 
#define CV_IN_OUT
 
#define CV_IS_CONT_MAT   CV_IS_MAT_CONT
 
#define CV_IS_MAT_CONT(flags)   ((flags) & CV_MAT_CONT_FLAG)
 
#define CV_IS_SUBMAT(flags)   ((flags) & CV_MAT_SUBMAT_FLAG)
 
#define CV_LOG2   0.69314718055994530941723212145818
 
#define CV_MAT_CN(flags)   ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
 
#define CV_MAT_CN_MASK   ((CV_CN_MAX - 1) << CV_CN_SHIFT)
 
#define CV_MAT_CONT_FLAG   (1 << CV_MAT_CONT_FLAG_SHIFT)
 
#define CV_MAT_CONT_FLAG_SHIFT   14
 
#define CV_MAT_TYPE(flags)   ((flags) & CV_MAT_TYPE_MASK)
 
#define CV_MAT_TYPE_MASK   (CV_DEPTH_MAX*CV_CN_MAX - 1)
 
#define CV_NODISCARD   /* nothing by default */
 
#define CV_NOEXCEPT
 
#define CV_OUT
 
#define CV_OVERRIDE   override
 
#define CV_PI   3.1415926535897932384626433832795
 
#define CV_PROP
 
#define CV_PROP_RW
 
#define CV_SUBMAT_FLAG   (1 << CV_SUBMAT_FLAG_SHIFT)
 
#define CV_SUBMAT_FLAG_SHIFT   15
 
#define CV_WRAP
 
#define CV_WRAP_AS(synonym)
 
#define CV_WRAP_DEFAULT(val)
 
#define CV_WRAP_MAPPABLE(mappable)
 
#define CV_WRAP_PHANTOM(phantom_header)
 
#define MAX(a, b)   ((a) < (b) ? (b) : (a))
 
#define MIN(a, b)   ((a) > (b) ? (b) : (a))
 
#define OPENCV_ABI_COMPATIBILITY   400
 

Typedefs

typedef std::lock_guard< cv::Mutexcv::AutoLock
 
typedef int(* cv::ErrorCallback) (int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata)
 
typedef Hamming cv::HammingLUT
 
typedef std::recursive_mutex cv::Mutex
 

Enumerations

enum  CpuFeatures {
  CPU_MMX = 1,
  CPU_SSE = 2,
  CPU_SSE2 = 3,
  CPU_SSE3 = 4,
  CPU_SSSE3 = 5,
  CPU_SSE4_1 = 6,
  CPU_SSE4_2 = 7,
  CPU_POPCNT = 8,
  CPU_FP16 = 9,
  CPU_AVX = 10,
  CPU_AVX2 = 11,
  CPU_FMA3 = 12,
  CPU_AVX_512F = 13,
  CPU_AVX_512BW = 14,
  CPU_AVX_512CD = 15,
  CPU_AVX_512DQ = 16,
  CPU_AVX_512ER = 17,
  CPU_AVX_512IFMA512 = 18,
  CPU_AVX_512IFMA = 18,
  CPU_AVX_512PF = 19,
  CPU_AVX_512VBMI = 20,
  CPU_AVX_512VL = 21,
  CPU_NEON = 100,
  CPU_VSX = 200,
  CPU_AVX512_SKX = 256,
  CPU_MAX_FEATURE = 512
}
 Available CPU features. More...
 
enum  cv::SortFlags {
  cv::SORT_EVERY_ROW = 0,
  cv::SORT_EVERY_COLUMN = 1,
  cv::SORT_ASCENDING = 0,
  cv::SORT_DESCENDING = 16
}
 

Functions

template<typename _Tp >
static _Tp * cv::alignPtr (_Tp *ptr, int n=(int) sizeof(_Tp))
 Aligns a pointer to the specified number of bytes. More...
 
static size_t cv::alignSize (size_t sz, int n)
 Aligns a buffer size to the specified number of bytes. More...
 
bool cv::checkHardwareSupport (int feature)
 Returns true if the specified feature is supported by the host hardware. More...
 
bool cv::Cholesky (float *A, size_t astep, int m, float *b, size_t bstep, int n)
 
bool cv::Cholesky (double *A, size_t astep, int m, double *b, size_t bstep, int n)
 
float cv::cubeRoot (float val)
 Computes the cube root of an argument. More...
 
template<typename _Tp >
_Tp cv::cv_abs (_Tp x)
 
int cv::cv_abs (uchar x)
 
int cv::cv_abs (schar x)
 
int cv::cv_abs (ushort x)
 
int cv::cv_abs (short x)
 
 CV_XADD (int *addr, int delta)
 
int cvCeil (double value)
 Rounds floating-point number to the nearest integer not smaller than the original. More...
 
int cvCeil (float value)
 
int cvCeil (int value)
 
int cvFloor (double value)
 Rounds floating-point number to the nearest integer not larger than the original. More...
 
int cvFloor (float value)
 
int cvFloor (int value)
 
int cvIsInf (double value)
 Determines if the argument is Infinity. More...
 
int cvIsInf (float value)
 
int cvIsNaN (double value)
 Determines if the argument is Not A Number. More...
 
int cvIsNaN (float value)
 
int cvRound (double value)
 Rounds floating-point number to the nearest integer. More...
 
int cvRound (float value)
 
int cvRound (int value)
 
static int cv::divUp (int a, unsigned int b)
 Integer division with result round up. More...
 
static size_t cv::divUp (size_t a, unsigned int b)
 
String cv::utils::dumpInputArray (InputArray argument)
 
String cv::utils::dumpInputArrayOfArrays (InputArrayOfArrays argument)
 
String cv::utils::dumpInputOutputArray (InputOutputArray argument)
 
String cv::utils::dumpInputOutputArrayOfArrays (InputOutputArrayOfArrays argument)
 
void cv::error (const Exception &exc)
 Signals an error and raises the exception. More...
 
void cv::error (int _code, const String &_err, const char *_func, const char *_file, int _line)
 Signals an error and raises the exception. More...
 
float cv::fastAtan2 (float y, float x)
 Calculates the angle of a 2D vector in degrees. More...
 
void cv::fastFree (void *ptr)
 Deallocates a memory buffer. More...
 
void * cv::fastMalloc (size_t bufSize)
 Allocates an aligned memory buffer. More...
 
template<typename _Tp , typename Functor >
void cv::Mat::forEach_impl (const Functor &operation)
 
const Stringcv::getBuildInformation ()
 Returns full configuration time cmake output. More...
 
std::string cv::getCPUFeaturesLine ()
 Returns list of CPU features enabled during compilation. More...
 
int64 cv::getCPUTickCount ()
 Returns the number of CPU ticks. More...
 
static size_t cv::getElemSize (int type)
 
String cv::getHardwareFeatureName (int feature)
 Returns feature name by ID. More...
 
int cv::getNumberOfCPUs ()
 Returns the number of logical CPUs available for the process. More...
 
int cv::getNumThreads ()
 Returns the number of threads used by OpenCV for parallel regions. More...
 
int cv::getThreadNum ()
 Returns the index of the currently executed thread within the current parallel region. Always returns 0 if called outside of parallel region. More...
 
int64 cv::getTickCount ()
 Returns the number of ticks. More...
 
double cv::getTickFrequency ()
 Returns the number of ticks per second. More...
 
int cv::getVersionMajor ()
 Returns major library version. More...
 
int cv::getVersionMinor ()
 Returns minor library version. More...
 
int cv::getVersionRevision ()
 Returns revision field of the library version. More...
 
String cv::getVersionString ()
 Returns library version string. More...
 
void cv::glob (String pattern, std::vector< String > &result, bool recursive=false)
 
int cv::LU (float *A, size_t astep, int m, float *b, size_t bstep, int n)
 
int cv::LU (double *A, size_t astep, int m, double *b, size_t bstep, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normInf (const _Tp *a, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normInf (const _Tp *a, const _Tp *b, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL1 (const _Tp *a, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL1 (const _Tp *a, const _Tp *b, int n)
 
float cv::normL1 (const float *a, const float *b, int n)
 
int cv::normL1 (const uchar *a, const uchar *b, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr (const _Tp *a, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr (const _Tp *a, const _Tp *b, int n)
 
static float cv::normL2Sqr (const float *a, const float *b, int n)
 
static std::ostream & cv::operator<< (std::ostream &out, const TickMeter &tm)
 output operator More...
 
void cv::parallel_for_ (const Range &range, const ParallelLoopBody &body, double nstripes=-1.)
 Parallel data processor. More...
 
void cv::parallel_for_ (const Range &range, std::function< void(const Range &)> functor, double nstripes=-1.)
 
ErrorCallback cv::redirectError (ErrorCallback errCallback, void *userdata=0, void **prevUserdata=0)
 Sets the new error handler and the optional user data. More...
 
static int cv::roundUp (int a, unsigned int b)
 Round first value up to the nearest multiple of second value. More...
 
static size_t cv::roundUp (size_t a, unsigned int b)
 
template<typename _Tp >
static _Tp cv::saturate_cast (uchar v)
 Template function for accurate conversion from one primitive type to another. More...
 
template<typename _Tp >
static _Tp cv::saturate_cast (schar v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (ushort v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (short v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (unsigned v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (int v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (float v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (double v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (int64 v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (uint64 v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (float16_t v)
 
template<>
float16_t cv::saturate_cast< float16_t > (uchar v)
 
template<>
float16_t cv::saturate_cast< float16_t > (schar v)
 
template<>
float16_t cv::saturate_cast< float16_t > (ushort v)
 
template<>
float16_t cv::saturate_cast< float16_t > (short v)
 
template<>
float16_t cv::saturate_cast< float16_t > (unsigned v)
 
template<>
float16_t cv::saturate_cast< float16_t > (int v)
 
template<>
float16_t cv::saturate_cast< float16_t > (uint64 v)
 
template<>
float16_t cv::saturate_cast< float16_t > (int64 v)
 
template<>
float16_t cv::saturate_cast< float16_t > (float v)
 
template<>
float16_t cv::saturate_cast< float16_t > (double v)
 
template<>
int64 cv::saturate_cast< int64 > (uint64 v)
 
template<>
schar cv::saturate_cast< schar > (uchar v)
 
template<>
schar cv::saturate_cast< schar > (ushort v)
 
template<>
schar cv::saturate_cast< schar > (int v)
 
template<>
schar cv::saturate_cast< schar > (short v)
 
template<>
schar cv::saturate_cast< schar > (unsigned v)
 
template<>
schar cv::saturate_cast< schar > (float v)
 
template<>
schar cv::saturate_cast< schar > (double v)
 
template<>
schar cv::saturate_cast< schar > (int64 v)
 
template<>
schar cv::saturate_cast< schar > (uint64 v)
 
template<>
short cv::saturate_cast< short > (ushort v)
 
template<>
short cv::saturate_cast< short > (int v)
 
template<>
short cv::saturate_cast< short > (unsigned v)
 
template<>
short cv::saturate_cast< short > (float v)
 
template<>
short cv::saturate_cast< short > (double v)
 
template<>
short cv::saturate_cast< short > (int64 v)
 
template<>
short cv::saturate_cast< short > (uint64 v)
 
template<>
uchar cv::saturate_cast< uchar > (schar v)
 
template<>
uchar cv::saturate_cast< uchar > (ushort v)
 
template<>
uchar cv::saturate_cast< uchar > (int v)
 
template<>
uchar cv::saturate_cast< uchar > (short v)
 
template<>
uchar cv::saturate_cast< uchar > (unsigned v)
 
template<>
uchar cv::saturate_cast< uchar > (float v)
 
template<>
uchar cv::saturate_cast< uchar > (double v)
 
template<>
uchar cv::saturate_cast< uchar > (int64 v)
 
template<>
uchar cv::saturate_cast< uchar > (uint64 v)
 
template<>
uint64 cv::saturate_cast< uint64 > (schar v)
 
template<>
uint64 cv::saturate_cast< uint64 > (short v)
 
template<>
uint64 cv::saturate_cast< uint64 > (int v)
 
template<>
uint64 cv::saturate_cast< uint64 > (int64 v)
 
template<>
unsigned cv::saturate_cast< unsigned > (schar v)
 
template<>
unsigned cv::saturate_cast< unsigned > (short v)
 
template<>
unsigned cv::saturate_cast< unsigned > (int v)
 
template<>
unsigned cv::saturate_cast< unsigned > (int64 v)
 
template<>
unsigned cv::saturate_cast< unsigned > (uint64 v)
 
template<>
unsigned cv::saturate_cast< unsigned > (float v)
 
template<>
unsigned cv::saturate_cast< unsigned > (double v)
 
template<>
ushort cv::saturate_cast< ushort > (schar v)
 
template<>
ushort cv::saturate_cast< ushort > (short v)
 
template<>
ushort cv::saturate_cast< ushort > (int v)
 
template<>
ushort cv::saturate_cast< ushort > (unsigned v)
 
template<>
ushort cv::saturate_cast< ushort > (float v)
 
template<>
ushort cv::saturate_cast< ushort > (double v)
 
template<>
ushort cv::saturate_cast< ushort > (int64 v)
 
template<>
ushort cv::saturate_cast< ushort > (uint64 v)
 
bool cv::setBreakOnError (bool flag)
 Sets/resets the break-on-error mode. More...
 
void cv::setNumThreads (int nthreads)
 OpenCV will try to set the number of threads for the next parallel region. More...
 
void cv::setUseOptimized (bool onoff)
 Enables or disables the optimized code. More...
 
String cv::tempfile (const char *suffix=0)
 
bool cv::useOptimized ()
 Returns the status of optimized code usage. More...
 

Detailed Description

Macro Definition Documentation

§ CV_2PI

#define CV_2PI   6.283185307179586476925286766559

§ CV_Assert

#define CV_Assert (   expr)    do { if(!!(expr)) ; else cv::error( cv::Error::StsAssert, #expr, CV_Func, __FILE__, __LINE__ ); } while(0)

Checks a condition at runtime and throws exception if it fails.

The macros CV_Assert (and CV_DbgAssert(expr)) evaluate the specified expression. If it is 0, the macros raise an error (see cv::error). The macro CV_Assert checks the condition in both Debug and Release configurations while CV_DbgAssert is only retained in the Debug configuration.

Examples:
samples/cpp/grabcut.cpp, samples/cpp/image_alignment.cpp, samples/cpp/train_HOG.cpp, samples/dnn/classification.cpp, samples/dnn/object_detection.cpp, samples/dnn/segmentation.cpp, and samples/dnn/text_detection.cpp.

§ CV_CONSTEXPR

#define CV_CONSTEXPR   const

§ CV_CPU_AVX

#define CV_CPU_AVX   10

§ CV_CPU_AVX2

#define CV_CPU_AVX2   11

§ CV_CPU_AVX512_SKX

#define CV_CPU_AVX512_SKX   256

§ CV_CPU_AVX_512BW

#define CV_CPU_AVX_512BW   14

§ CV_CPU_AVX_512CD

#define CV_CPU_AVX_512CD   15

§ CV_CPU_AVX_512DQ

#define CV_CPU_AVX_512DQ   16

§ CV_CPU_AVX_512ER

#define CV_CPU_AVX_512ER   17

§ CV_CPU_AVX_512F

#define CV_CPU_AVX_512F   13

§ CV_CPU_AVX_512IFMA

#define CV_CPU_AVX_512IFMA   18

§ CV_CPU_AVX_512IFMA512

#define CV_CPU_AVX_512IFMA512   18

§ CV_CPU_AVX_512PF

#define CV_CPU_AVX_512PF   19

§ CV_CPU_AVX_512VBMI

#define CV_CPU_AVX_512VBMI   20

§ CV_CPU_AVX_512VL

#define CV_CPU_AVX_512VL   21

§ CV_CPU_FMA3

#define CV_CPU_FMA3   12

§ CV_CPU_FP16

#define CV_CPU_FP16   9

§ CV_CPU_MMX

#define CV_CPU_MMX   1

§ CV_CPU_NEON

#define CV_CPU_NEON   100

§ CV_CPU_NONE

#define CV_CPU_NONE   0

§ CV_CPU_POPCNT

#define CV_CPU_POPCNT   8

§ CV_CPU_SSE

#define CV_CPU_SSE   2

§ CV_CPU_SSE2

#define CV_CPU_SSE2   3

§ CV_CPU_SSE3

#define CV_CPU_SSE3   4

§ CV_CPU_SSE4_1

#define CV_CPU_SSE4_1   6

§ CV_CPU_SSE4_2

#define CV_CPU_SSE4_2   7

§ CV_CPU_SSSE3

#define CV_CPU_SSSE3   5

§ CV_CPU_VSX

#define CV_CPU_VSX   200

§ CV_CXX_MOVE_SEMANTICS

#define CV_CXX_MOVE_SEMANTICS   1

§ CV_CXX_STD_ARRAY

#define CV_CXX_STD_ARRAY   1

§ CV_DbgAssert

#define CV_DbgAssert (   expr)

replaced with CV_Assert(expr) in Debug configuration

§ CV_DECL_ALIGNED

#define CV_DECL_ALIGNED (   x)

§ CV_ELEM_SIZE

#define CV_ELEM_SIZE (   type)    (CV_MAT_CN(type)*CV_ELEM_SIZE1(type))

§ CV_ELEM_SIZE1

#define CV_ELEM_SIZE1 (   type)    ((0x28442211 >> CV_MAT_DEPTH(type)*4) & 15)

Size of each channel item, 0x28442211 = 0010 1000 0100 0100 0010 0010 0001 0001 ~ array of sizeof(arr_type_elem)

§ CV_ENABLE_UNROLLED

#define CV_ENABLE_UNROLLED   1

§ CV_ENUM_CLASS_EXPOSE

#define CV_ENUM_CLASS_EXPOSE (   EnumType,
  ... 
)    __CV_EXPAND(__CV_CAT(__CV_ENUM_CLASS_EXPOSE_, __CV_VA_NUM_ARGS(__VA_ARGS__))(EnumType, __VA_ARGS__)); \

§ CV_ENUM_FLAGS

#define CV_ENUM_FLAGS (   EnumType)
Value:
__CV_ENUM_FLAGS_LOGICAL_NOT (EnumType) \
__CV_ENUM_FLAGS_LOGICAL_EQ (EnumType, int) \
__CV_ENUM_FLAGS_LOGICAL_NOT_EQ (EnumType, int) \
\
__CV_ENUM_FLAGS_BITWISE_NOT (EnumType) \
__CV_ENUM_FLAGS_BITWISE_OR (EnumType, EnumType, EnumType) \
__CV_ENUM_FLAGS_BITWISE_AND (EnumType, EnumType, EnumType) \
__CV_ENUM_FLAGS_BITWISE_XOR (EnumType, EnumType, EnumType) \
\
__CV_ENUM_FLAGS_BITWISE_OR_EQ (EnumType, EnumType) \
__CV_ENUM_FLAGS_BITWISE_AND_EQ (EnumType, EnumType) \
__CV_ENUM_FLAGS_BITWISE_XOR_EQ (EnumType, EnumType) \

§ CV_Error

#define CV_Error (   code,
  msg 
)    cv::error( code, msg, CV_Func, __FILE__, __LINE__ )

Call the error handler.

Currently, the error handler prints the error code and the error message to the standard error stream stderr. In the Debug configuration, it then provokes memory access violation, so that the execution stack and all the parameters can be analyzed by the debugger. In the Release configuration, the exception is thrown.

Parameters
codeone of Error::Code
msgerror message
Examples:
samples/cpp/grabcut.cpp, samples/cpp/pca.cpp, samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp, samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp, samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp, samples/dnn/classification.cpp, samples/dnn/object_detection.cpp, and samples/dnn/segmentation.cpp.

§ CV_Error_

#define CV_Error_ (   code,
  args 
)    cv::error( code, cv::format args, CV_Func, __FILE__, __LINE__ )

Call the error handler.

This macro can be used to construct an error message on-fly to include some dynamic information, for example:

// note the extra parentheses around the formatted text message
("the value at (%d, %d)=%g is out of range", badPt.x, badPt.y, badValue));
Parameters
codeone of Error::Code
argsprintf-like formatted error message in parentheses

§ CV_EXPORTS_AS

#define CV_EXPORTS_AS (   synonym)    CV_EXPORTS

§ CV_EXPORTS_TEMPLATE

#define CV_EXPORTS_TEMPLATE   CV_EXPORTS

§ CV_EXPORTS_W

#define CV_EXPORTS_W   CV_EXPORTS

§ CV_EXPORTS_W_MAP

#define CV_EXPORTS_W_MAP   CV_EXPORTS

§ CV_EXPORTS_W_SIMPLE

#define CV_EXPORTS_W_SIMPLE   CV_EXPORTS

§ CV_EXTERN_C

#define CV_EXTERN_C   extern "C"

§ CV_FINAL

#define CV_FINAL   final

§ CV_FP16_TYPE

#define CV_FP16_TYPE   0

§ CV_Func

#define CV_Func   ""

§ CV_HARDWARE_MAX_FEATURE

#define CV_HARDWARE_MAX_FEATURE   512

§ CV_IN_OUT

#define CV_IN_OUT

§ CV_IS_CONT_MAT

#define CV_IS_CONT_MAT   CV_IS_MAT_CONT

§ CV_IS_MAT_CONT

#define CV_IS_MAT_CONT (   flags)    ((flags) & CV_MAT_CONT_FLAG)

§ CV_IS_SUBMAT

#define CV_IS_SUBMAT (   flags)    ((flags) & CV_MAT_SUBMAT_FLAG)

§ CV_LOG2

#define CV_LOG2   0.69314718055994530941723212145818

§ CV_MAT_CN

#define CV_MAT_CN (   flags)    ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)

§ CV_MAT_CN_MASK

#define CV_MAT_CN_MASK   ((CV_CN_MAX - 1) << CV_CN_SHIFT)

§ CV_MAT_CONT_FLAG

#define CV_MAT_CONT_FLAG   (1 << CV_MAT_CONT_FLAG_SHIFT)

§ CV_MAT_CONT_FLAG_SHIFT

#define CV_MAT_CONT_FLAG_SHIFT   14

§ CV_MAT_TYPE

#define CV_MAT_TYPE (   flags)    ((flags) & CV_MAT_TYPE_MASK)

§ CV_MAT_TYPE_MASK

#define CV_MAT_TYPE_MASK   (CV_DEPTH_MAX*CV_CN_MAX - 1)

§ CV_NODISCARD

#define CV_NODISCARD   /* nothing by default */

§ CV_NOEXCEPT

#define CV_NOEXCEPT

§ CV_OUT

#define CV_OUT

§ CV_OVERRIDE

#define CV_OVERRIDE   override

§ CV_PI

#define CV_PI   3.1415926535897932384626433832795

§ CV_PROP

#define CV_PROP

§ CV_PROP_RW

#define CV_PROP_RW

§ CV_SUBMAT_FLAG

#define CV_SUBMAT_FLAG   (1 << CV_SUBMAT_FLAG_SHIFT)

§ CV_SUBMAT_FLAG_SHIFT

#define CV_SUBMAT_FLAG_SHIFT   15

§ CV_WRAP

#define CV_WRAP

§ CV_WRAP_AS

#define CV_WRAP_AS (   synonym)

§ CV_WRAP_DEFAULT

#define CV_WRAP_DEFAULT (   val)

§ CV_WRAP_MAPPABLE

#define CV_WRAP_MAPPABLE (   mappable)

§ CV_WRAP_PHANTOM

#define CV_WRAP_PHANTOM (   phantom_header)

§ MAX

#define MAX (   a,
 
)    ((a) < (b) ? (b) : (a))

§ MIN

#define MIN (   a,
 
)    ((a) > (b) ? (b) : (a))

§ OPENCV_ABI_COMPATIBILITY

#define OPENCV_ABI_COMPATIBILITY   400

Typedef Documentation

§ AutoLock

typedef std::lock_guard<cv::Mutex> cv::AutoLock

§ ErrorCallback

typedef int(* cv::ErrorCallback) (int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata)

§ HammingLUT

§ Mutex

typedef std::recursive_mutex cv::Mutex

Enumeration Type Documentation

§ CpuFeatures

Available CPU features.

Enumerator
CPU_MMX 
CPU_SSE 
CPU_SSE2 
CPU_SSE3 
CPU_SSSE3 
CPU_SSE4_1 
CPU_SSE4_2 
CPU_POPCNT 
CPU_FP16 
CPU_AVX 
CPU_AVX2 
CPU_FMA3 
CPU_AVX_512F 
CPU_AVX_512BW 
CPU_AVX_512CD 
CPU_AVX_512DQ 
CPU_AVX_512ER 
CPU_AVX_512IFMA512 
CPU_AVX_512IFMA 
CPU_AVX_512PF 
CPU_AVX_512VBMI 
CPU_AVX_512VL 
CPU_NEON 
CPU_VSX 
CPU_AVX512_SKX 

Skylake-X with AVX-512F/CD/BW/DQ/VL.

CPU_MAX_FEATURE 

§ SortFlags

Enumerator
SORT_EVERY_ROW 
Python: cv.SORT_EVERY_ROW

each matrix row is sorted independently

SORT_EVERY_COLUMN 
Python: cv.SORT_EVERY_COLUMN

each matrix column is sorted independently; this flag and the previous one are mutually exclusive.

SORT_ASCENDING 
Python: cv.SORT_ASCENDING

each matrix row is sorted in the ascending order.

SORT_DESCENDING 
Python: cv.SORT_DESCENDING

each matrix row is sorted in the descending order; this flag and the previous one are also mutually exclusive.

Function Documentation

§ alignPtr()

template<typename _Tp >
static _Tp* cv::alignPtr ( _Tp *  ptr,
int  n = (int)sizeof(_Tp) 
)
inlinestatic

Aligns a pointer to the specified number of bytes.

The function returns the aligned pointer of the same type as the input pointer:

\[\texttt{(_Tp*)(((size_t)ptr + n-1) & -n)}\]

Parameters
ptrAligned pointer.
nAlignment size that must be a power of two.

§ alignSize()

static size_t cv::alignSize ( size_t  sz,
int  n 
)
inlinestatic

Aligns a buffer size to the specified number of bytes.

The function returns the minimum number that is greater than or equal to sz and is divisible by n :

\[\texttt{(sz + n-1) & -n}\]

Parameters
szBuffer size to align.
nAlignment size that must be a power of two.

§ checkHardwareSupport()

bool cv::checkHardwareSupport ( int  feature)
Python:
retval=cv.checkHardwareSupport(feature)

Returns true if the specified feature is supported by the host hardware.

The function returns true if the host hardware supports the specified feature. When user calls setUseOptimized(false), the subsequent calls to checkHardwareSupport() will return false until setUseOptimized(true) is called. This way user can dynamically switch on and off the optimized code in OpenCV.

Parameters
featureThe feature of interest, one of cv::CpuFeatures

§ Cholesky() [1/2]

bool cv::Cholesky ( float *  A,
size_t  astep,
int  m,
float *  b,
size_t  bstep,
int  n 
)

proxy for hal::Cholesky

§ Cholesky() [2/2]

bool cv::Cholesky ( double *  A,
size_t  astep,
int  m,
double *  b,
size_t  bstep,
int  n 
)

proxy for hal::Cholesky

§ cubeRoot()

float cv::cubeRoot ( float  val)
Python:
retval=cv.cubeRoot(val)

Computes the cube root of an argument.

The function cubeRoot computes \(\sqrt[3]{\texttt{val}}\). Negative arguments are handled correctly. NaN and Inf are not handled. The accuracy approaches the maximum possible accuracy for single-precision data.

Parameters
valA function argument.

§ cv_abs() [1/5]

template<typename _Tp >
_Tp cv::cv_abs ( _Tp  x)
inline

§ cv_abs() [2/5]

int cv::cv_abs ( uchar  x)
inline

§ cv_abs() [3/5]

int cv::cv_abs ( schar  x)
inline

§ cv_abs() [4/5]

int cv::cv_abs ( ushort  x)
inline

§ cv_abs() [5/5]

int cv::cv_abs ( short  x)
inline

§ CV_XADD()

CV_XADD ( int *  addr,
int  delta 
)

§ cvCeil() [1/3]

int cvCeil ( double  value)

Rounds floating-point number to the nearest integer not smaller than the original.

The function computes an integer i such that:

\[i \le \texttt{value} < i+1\]

Parameters
valuefloating-point number. If the value is outside of INT_MIN ... INT_MAX range, the result is not defined.

§ cvCeil() [2/3]

int cvCeil ( float  value)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvCeil() [3/3]

int cvCeil ( int  value)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvFloor() [1/3]

int cvFloor ( double  value)

Rounds floating-point number to the nearest integer not larger than the original.

The function computes an integer i such that:

\[i \le \texttt{value} < i+1\]

Parameters
valuefloating-point number. If the value is outside of INT_MIN ... INT_MAX range, the result is not defined.

§ cvFloor() [2/3]

int cvFloor ( float  value)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvFloor() [3/3]

int cvFloor ( int  value)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvIsInf() [1/2]

int cvIsInf ( double  value)

Determines if the argument is Infinity.

Parameters
valueThe input floating-point value

The function returns 1 if the argument is a plus or minus infinity (as defined by IEEE754 standard) and 0 otherwise.

§ cvIsInf() [2/2]

int cvIsInf ( float  value)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvIsNaN() [1/2]

int cvIsNaN ( double  value)

Determines if the argument is Not A Number.

Parameters
valueThe input floating-point value

The function returns 1 if the argument is Not A Number (as defined by IEEE754 standard), 0 otherwise.

§ cvIsNaN() [2/2]

int cvIsNaN ( float  value)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvRound() [1/3]

int cvRound ( double  value)

Rounds floating-point number to the nearest integer.

Parameters
valuefloating-point number. If the value is outside of INT_MIN ... INT_MAX range, the result is not defined.
Examples:
samples/cpp/contours2.cpp, samples/cpp/demhist.cpp, samples/cpp/distrans.cpp, samples/cpp/facedetect.cpp, samples/cpp/minarea.cpp, samples/cpp/peopledetect.cpp, samples/cpp/polar_transforms.cpp, samples/cpp/stitching_detailed.cpp, samples/cpp/tutorial_code/ImgTrans/houghlines.cpp, and samples/cpp/warpPerspective_demo.cpp.

§ cvRound() [2/3]

int cvRound ( float  value)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvRound() [3/3]

int cvRound ( int  value)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ divUp() [1/2]

static int cv::divUp ( int  a,
unsigned int  b 
)
inlinestatic

Integer division with result round up.

Use this function instead of ceil((float)a / b) expressions.

See also
alignSize

§ divUp() [2/2]

static size_t cv::divUp ( size_t  a,
unsigned int  b 
)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ dumpInputArray()

String cv::utils::dumpInputArray ( InputArray  argument)
Python:
retval=cv.utils.dumpInputArray(argument)

§ dumpInputArrayOfArrays()

String cv::utils::dumpInputArrayOfArrays ( InputArrayOfArrays  argument)
Python:
retval=cv.utils.dumpInputArrayOfArrays(argument)

§ dumpInputOutputArray()

String cv::utils::dumpInputOutputArray ( InputOutputArray  argument)
Python:
retval, argument=cv.utils.dumpInputOutputArray(argument)

§ dumpInputOutputArrayOfArrays()

String cv::utils::dumpInputOutputArrayOfArrays ( InputOutputArrayOfArrays  argument)
Python:
retval, argument=cv.utils.dumpInputOutputArrayOfArrays(argument)

§ error() [1/2]

void cv::error ( const Exception exc)

Signals an error and raises the exception.

By default the function prints information about the error to stderr, then it either stops if cv::setBreakOnError() had been called before or raises the exception. It is possible to alternate error processing by using redirectError().

Parameters
excthe exception raisen.
Deprecated:
drop this version

§ error() [2/2]

void cv::error ( int  _code,
const String _err,
const char *  _func,
const char *  _file,
int  _line 
)

Signals an error and raises the exception.

By default the function prints information about the error to stderr, then it either stops if setBreakOnError() had been called before or raises the exception. It is possible to alternate error processing by using redirectError().

Parameters
_code- error code (Error::Code)
_err- error description
_func- function name. Available only when the compiler supports getting it
_file- source file name where the error has occurred
_line- line number in the source file where the error has occurred
See also
CV_Error, CV_Error_, CV_Assert, CV_DbgAssert

§ fastAtan2()

float cv::fastAtan2 ( float  y,
float  x 
)
Python:
retval=cv.fastAtan2(y, x)

Calculates the angle of a 2D vector in degrees.

The function fastAtan2 calculates the full-range angle of an input 2D vector. The angle is measured in degrees and varies from 0 to 360 degrees. The accuracy is about 0.3 degrees.

Parameters
xx-coordinate of the vector.
yy-coordinate of the vector.

§ fastFree()

void cv::fastFree ( void *  ptr)

Deallocates a memory buffer.

The function deallocates the buffer allocated with fastMalloc . If NULL pointer is passed, the function does nothing. C version of the function clears the pointer pptr to avoid problems with double memory deallocation.

Parameters
ptrPointer to the allocated buffer.

§ fastMalloc()

void* cv::fastMalloc ( size_t  bufSize)

Allocates an aligned memory buffer.

The function allocates the buffer of the specified size and returns it. When the buffer size is 16 bytes or more, the returned buffer is aligned to 16 bytes.

Parameters
bufSizeAllocated buffer size.

§ forEach_impl()

template<typename _Tp , typename Functor >
void cv::Mat::forEach_impl ( const Functor &  operation)
inlineprotected

idx is modified in this->rowCall

§ getBuildInformation()

const String& cv::getBuildInformation ( )
Python:
retval=cv.getBuildInformation()

Returns full configuration time cmake output.

Returned value is raw cmake output including version control system revision, compiler version, compiler flags, enabled modules and third party libraries, etc. Output format depends on target architecture.

§ getCPUFeaturesLine()

std::string cv::getCPUFeaturesLine ( )

Returns list of CPU features enabled during compilation.

Returned value is a string containing space separated list of CPU features with following markers:

  • no markers - baseline features
  • prefix * - features enabled in dispatcher
  • suffix ? - features enabled but not available in HW

Example: SSE SSE2 SSE3 *SSE4.1 *SSE4.2 *FP16 *AVX *AVX2 *AVX512-SKX?

§ getCPUTickCount()

int64 cv::getCPUTickCount ( )
Python:
retval=cv.getCPUTickCount()

Returns the number of CPU ticks.

The function returns the current number of CPU ticks on some architectures (such as x86, x64, PowerPC). On other platforms the function is equivalent to getTickCount. It can also be used for very accurate time measurements, as well as for RNG initialization. Note that in case of multi-CPU systems a thread, from which getCPUTickCount is called, can be suspended and resumed at another CPU with its own counter. So, theoretically (and practically) the subsequent calls to the function do not necessary return the monotonously increasing values. Also, since a modern CPU varies the CPU frequency depending on the load, the number of CPU clocks spent in some code cannot be directly converted to time units. Therefore, getTickCount is generally a preferable solution for measuring execution time.

§ getElemSize()

static size_t cv::getElemSize ( int  type)
inlinestatic

§ getHardwareFeatureName()

String cv::getHardwareFeatureName ( int  feature)
Python:
retval=cv.getHardwareFeatureName(feature)

Returns feature name by ID.

Returns empty string if feature is not defined

§ getNumberOfCPUs()

int cv::getNumberOfCPUs ( )
Python:
retval=cv.getNumberOfCPUs()

Returns the number of logical CPUs available for the process.

§ getNumThreads()

int cv::getNumThreads ( )
Python:
retval=cv.getNumThreads()

Returns the number of threads used by OpenCV for parallel regions.

Always returns 1 if OpenCV is built without threading support.

The exact meaning of return value depends on the threading framework used by OpenCV library:

  • TBB - The number of threads, that OpenCV will try to use for parallel regions. If there is any tbb::thread_scheduler_init in user code conflicting with OpenCV, then function returns default number of threads used by TBB library.
  • OpenMP - An upper bound on the number of threads that could be used to form a new team.
  • Concurrency - The number of threads, that OpenCV will try to use for parallel regions.
  • GCD - Unsupported; returns the GCD thread pool limit (512) for compatibility.
  • C= - The number of threads, that OpenCV will try to use for parallel regions, if before called setNumThreads with threads > 0, otherwise returns the number of logical CPUs, available for the process.
    See also
    setNumThreads, getThreadNum

§ getThreadNum()

int cv::getThreadNum ( )
Python:
retval=cv.getThreadNum()

Returns the index of the currently executed thread within the current parallel region. Always returns 0 if called outside of parallel region.

Deprecated:
Current implementation doesn't corresponding to this documentation.

The exact meaning of the return value depends on the threading framework used by OpenCV library:

  • TBB - Unsupported with current 4.1 TBB release. Maybe will be supported in future.
  • OpenMP - The thread number, within the current team, of the calling thread.
  • Concurrency - An ID for the virtual processor that the current context is executing on (0 for master thread and unique number for others, but not necessary 1,2,3,...).
  • GCD - System calling thread's ID. Never returns 0 inside parallel region.
  • C= - The index of the current parallel task.
    See also
    setNumThreads, getNumThreads

§ getTickCount()

int64 cv::getTickCount ( )
Python:
retval=cv.getTickCount()

Returns the number of ticks.

The function returns the number of ticks after the certain event (for example, when the machine was turned on). It can be used to initialize RNG or to measure a function execution time by reading the tick count before and after the function call.

See also
getTickFrequency, TickMeter
Examples:
fld_lines.cpp, samples/cpp/facedetect.cpp, samples/cpp/image_alignment.cpp, samples/cpp/lsd_lines.cpp, samples/cpp/peopledetect.cpp, samples/cpp/stitching_detailed.cpp, samples/cpp/watershed.cpp, samples/tapi/hog.cpp, and samples/tapi/squares.cpp.

§ getTickFrequency()

double cv::getTickFrequency ( )
Python:
retval=cv.getTickFrequency()

Returns the number of ticks per second.

The function returns the number of ticks per second. That is, the following code computes the execution time in seconds:

double t = (double)getTickCount();
// do something ...
t = ((double)getTickCount() - t)/getTickFrequency();
See also
getTickCount, TickMeter
Examples:
fld_lines.cpp, samples/cpp/facedetect.cpp, samples/cpp/image_alignment.cpp, samples/cpp/lsd_lines.cpp, samples/cpp/peopledetect.cpp, samples/cpp/stitching_detailed.cpp, samples/cpp/watershed.cpp, samples/dnn/classification.cpp, samples/dnn/object_detection.cpp, samples/dnn/segmentation.cpp, samples/dnn/text_detection.cpp, samples/tapi/hog.cpp, and samples/tapi/squares.cpp.

§ getVersionMajor()

int cv::getVersionMajor ( )
Python:
retval=cv.getVersionMajor()

Returns major library version.

§ getVersionMinor()

int cv::getVersionMinor ( )
Python:
retval=cv.getVersionMinor()

Returns minor library version.

§ getVersionRevision()

int cv::getVersionRevision ( )
Python:
retval=cv.getVersionRevision()

Returns revision field of the library version.

§ getVersionString()

String cv::getVersionString ( )
Python:
retval=cv.getVersionString()

Returns library version string.

For example "3.4.1-dev".

See also
getMajorVersion, getMinorVersion, getRevisionVersion

§ glob()

void cv::glob ( String  pattern,
std::vector< String > &  result,
bool  recursive = false 
)

§ LU() [1/2]

int cv::LU ( float *  A,
size_t  astep,
int  m,
float *  b,
size_t  bstep,
int  n 
)

proxy for hal::LU

§ LU() [2/2]

int cv::LU ( double *  A,
size_t  astep,
int  m,
double *  b,
size_t  bstep,
int  n 
)

proxy for hal::LU

§ normInf() [1/2]

template<typename _Tp , typename _AccTp >
static _AccTp cv::normInf ( const _Tp *  a,
int  n 
)
inlinestatic

§ normInf() [2/2]

template<typename _Tp , typename _AccTp >
static _AccTp cv::normInf ( const _Tp *  a,
const _Tp *  b,
int  n 
)
inlinestatic

§ normL1() [1/4]

template<typename _Tp , typename _AccTp >
static _AccTp cv::normL1 ( const _Tp *  a,
int  n 
)
inlinestatic

§ normL1() [2/4]

template<typename _Tp , typename _AccTp >
static _AccTp cv::normL1 ( const _Tp *  a,
const _Tp *  b,
int  n 
)
inlinestatic

§ normL1() [3/4]

float cv::normL1 ( const float *  a,
const float *  b,
int  n 
)
inline

§ normL1() [4/4]

int cv::normL1 ( const uchar a,
const uchar b,
int  n 
)
inline

§ normL2Sqr() [1/3]

template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr ( const _Tp *  a,
int  n 
)
inlinestatic

§ normL2Sqr() [2/3]

template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr ( const _Tp *  a,
const _Tp *  b,
int  n 
)
inlinestatic

§ normL2Sqr() [3/3]

static float cv::normL2Sqr ( const float *  a,
const float *  b,
int  n 
)
inlinestatic

§ operator<<()

static std::ostream& cv::operator<< ( std::ostream &  out,
const TickMeter tm 
)
inlinestatic

output operator

TickMeter tm;
tm.start();
// do something ...
tm.stop();
std::cout << tm;

§ parallel_for_() [1/2]

void cv::parallel_for_ ( const Range range,
const ParallelLoopBody body,
double  nstripes = -1. 
)

Parallel data processor.

§ parallel_for_() [2/2]

void cv::parallel_for_ ( const Range range,
std::function< void(const Range &)>  functor,
double  nstripes = -1. 
)
inline

§ redirectError()

ErrorCallback cv::redirectError ( ErrorCallback  errCallback,
void *  userdata = 0,
void **  prevUserdata = 0 
)

Sets the new error handler and the optional user data.

The function sets the new error handler, called from cv::error().

Parameters
errCallbackthe new error handler. If NULL, the default error handler is used.
userdatathe optional user data pointer, passed to the callback.
prevUserdatathe optional output parameter where the previous user data pointer is stored
Returns
the previous error handler

§ roundUp() [1/2]

static int cv::roundUp ( int  a,
unsigned int  b 
)
inlinestatic

Round first value up to the nearest multiple of second value.

Use this function instead of ceil((float)a / b) * b expressions.

See also
divUp

§ roundUp() [2/2]

static size_t cv::roundUp ( size_t  a,
unsigned int  b 
)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [1/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( uchar  v)
inlinestatic

Template function for accurate conversion from one primitive type to another.

The function saturate_cast resembles the standard C++ cast operations, such as static_cast<T>() and others. It perform an efficient and accurate conversion from one primitive type to another (see the introduction chapter). saturate in the name means that when the input value v is out of the range of the target type, the result is not formed just by taking low bits of the input, but instead the value is clipped. For example:

uchar a = saturate_cast<uchar>(-100); // a = 0 (UCHAR_MIN)
short b = saturate_cast<short>(33333.33333); // b = 32767 (SHRT_MAX)

Such clipping is done when the target type is unsigned char , signed char , unsigned short or signed short . For 32-bit integers, no clipping is done.

When the parameter is a floating-point value and the target type is an integer (8-, 16- or 32-bit), the floating-point value is first rounded to the nearest integer and then clipped if needed (when the target type is 8- or 16-bit).

This operation is used in the simplest or most complex image processing functions in OpenCV.

Parameters
vFunction parameter.
See also
add, subtract, multiply, divide, Mat::convertTo
Examples:
samples/cpp/camshiftdemo.cpp.

§ saturate_cast() [2/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( schar  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [3/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( ushort  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [4/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( short  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [5/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( unsigned  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [6/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( int  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [7/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( float  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [8/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( double  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [9/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( int64  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [10/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( uint64  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast() [11/11]

template<typename _Tp >
static _Tp cv::saturate_cast ( float16_t  v)
inlinestatic

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ saturate_cast< float16_t >() [1/10]

template<>
float16_t cv::saturate_cast< float16_t > ( uchar  v)
inline

§ saturate_cast< float16_t >() [2/10]

template<>
float16_t cv::saturate_cast< float16_t > ( schar  v)
inline

§ saturate_cast< float16_t >() [3/10]

template<>
float16_t cv::saturate_cast< float16_t > ( ushort  v)
inline

§ saturate_cast< float16_t >() [4/10]

template<>
float16_t cv::saturate_cast< float16_t > ( short  v)
inline

§ saturate_cast< float16_t >() [5/10]

template<>
float16_t cv::saturate_cast< float16_t > ( unsigned  v)
inline

§ saturate_cast< float16_t >() [6/10]

template<>
float16_t cv::saturate_cast< float16_t > ( int  v)
inline

§ saturate_cast< float16_t >() [7/10]

template<>
float16_t cv::saturate_cast< float16_t > ( uint64  v)
inline

§ saturate_cast< float16_t >() [8/10]

template<>
float16_t cv::saturate_cast< float16_t > ( int64  v)
inline

§ saturate_cast< float16_t >() [9/10]

template<>
float16_t cv::saturate_cast< float16_t > ( float  v)
inline

§ saturate_cast< float16_t >() [10/10]

template<>
float16_t cv::saturate_cast< float16_t > ( double  v)
inline

§ saturate_cast< int64 >()

template<>
int64 cv::saturate_cast< int64 > ( uint64  v)
inline

§ saturate_cast< schar >() [1/9]

template<>
schar cv::saturate_cast< schar > ( uchar  v)
inline

§ saturate_cast< schar >() [2/9]

template<>
schar cv::saturate_cast< schar > ( ushort  v)
inline

§ saturate_cast< schar >() [3/9]

template<>
schar cv::saturate_cast< schar > ( int  v)
inline

§ saturate_cast< schar >() [4/9]

template<>
schar cv::saturate_cast< schar > ( short  v)
inline

§ saturate_cast< schar >() [5/9]

template<>
schar cv::saturate_cast< schar > ( unsigned  v)
inline

§ saturate_cast< schar >() [6/9]

template<>
schar cv::saturate_cast< schar > ( float  v)
inline

§ saturate_cast< schar >() [7/9]

template<>
schar cv::saturate_cast< schar > ( double  v)
inline

§ saturate_cast< schar >() [8/9]

template<>
schar cv::saturate_cast< schar > ( int64  v)
inline

§ saturate_cast< schar >() [9/9]

template<>
schar cv::saturate_cast< schar > ( uint64  v)
inline

§ saturate_cast< short >() [1/7]

template<>
short cv::saturate_cast< short > ( ushort  v)
inline

§ saturate_cast< short >() [2/7]

template<>
short cv::saturate_cast< short > ( int  v)
inline

§ saturate_cast< short >() [3/7]

template<>
short cv::saturate_cast< short > ( unsigned  v)
inline

§ saturate_cast< short >() [4/7]

template<>
short cv::saturate_cast< short > ( float  v)
inline

§ saturate_cast< short >() [5/7]

template<>
short cv::saturate_cast< short > ( double  v)
inline

§ saturate_cast< short >() [6/7]

template<>
short cv::saturate_cast< short > ( int64  v)
inline

§ saturate_cast< short >() [7/7]

template<>
short cv::saturate_cast< short > ( uint64  v)
inline

§ saturate_cast< uchar >() [1/9]

template<>
uchar cv::saturate_cast< uchar > ( schar  v)
inline

§ saturate_cast< uchar >() [2/9]

template<>
uchar cv::saturate_cast< uchar > ( ushort  v)
inline

§ saturate_cast< uchar >() [3/9]

template<>
uchar cv::saturate_cast< uchar > ( int  v)
inline

§ saturate_cast< uchar >() [4/9]

template<>
uchar cv::saturate_cast< uchar > ( short  v)
inline

§ saturate_cast< uchar >() [5/9]

template<>
uchar cv::saturate_cast< uchar > ( unsigned  v)
inline

§ saturate_cast< uchar >() [6/9]

template<>
uchar cv::saturate_cast< uchar > ( float  v)
inline

§ saturate_cast< uchar >() [7/9]

template<>
uchar cv::saturate_cast< uchar > ( double  v)
inline

§ saturate_cast< uchar >() [8/9]

template<>
uchar cv::saturate_cast< uchar > ( int64  v)
inline

§ saturate_cast< uchar >() [9/9]

template<>
uchar cv::saturate_cast< uchar > ( uint64  v)
inline

§ saturate_cast< uint64 >() [1/4]

template<>
uint64 cv::saturate_cast< uint64 > ( schar  v)
inline

§ saturate_cast< uint64 >() [2/4]

template<>
uint64 cv::saturate_cast< uint64 > ( short  v)
inline

§ saturate_cast< uint64 >() [3/4]

template<>
uint64 cv::saturate_cast< uint64 > ( int  v)
inline

§ saturate_cast< uint64 >() [4/4]

template<>
uint64 cv::saturate_cast< uint64 > ( int64  v)
inline

§ saturate_cast< unsigned >() [1/7]

template<>
unsigned cv::saturate_cast< unsigned > ( schar  v)
inline

§ saturate_cast< unsigned >() [2/7]

template<>
unsigned cv::saturate_cast< unsigned > ( short  v)
inline

§ saturate_cast< unsigned >() [3/7]

template<>
unsigned cv::saturate_cast< unsigned > ( int  v)
inline

§ saturate_cast< unsigned >() [4/7]

template<>
unsigned cv::saturate_cast< unsigned > ( int64  v)
inline

§ saturate_cast< unsigned >() [5/7]

template<>
unsigned cv::saturate_cast< unsigned > ( uint64  v)
inline

§ saturate_cast< unsigned >() [6/7]

template<>
unsigned cv::saturate_cast< unsigned > ( float  v)
inline

§ saturate_cast< unsigned >() [7/7]

template<>
unsigned cv::saturate_cast< unsigned > ( double  v)
inline

§ saturate_cast< ushort >() [1/8]

template<>
ushort cv::saturate_cast< ushort > ( schar  v)
inline

§ saturate_cast< ushort >() [2/8]

template<>
ushort cv::saturate_cast< ushort > ( short  v)
inline

§ saturate_cast< ushort >() [3/8]

template<>
ushort cv::saturate_cast< ushort > ( int  v)
inline

§ saturate_cast< ushort >() [4/8]

template<>
ushort cv::saturate_cast< ushort > ( unsigned  v)
inline

§ saturate_cast< ushort >() [5/8]

template<>
ushort cv::saturate_cast< ushort > ( float  v)
inline

§ saturate_cast< ushort >() [6/8]

template<>
ushort cv::saturate_cast< ushort > ( double  v)
inline

§ saturate_cast< ushort >() [7/8]

template<>
ushort cv::saturate_cast< ushort > ( int64  v)
inline

§ saturate_cast< ushort >() [8/8]

template<>
ushort cv::saturate_cast< ushort > ( uint64  v)
inline

§ setBreakOnError()

bool cv::setBreakOnError ( bool  flag)

Sets/resets the break-on-error mode.

When the break-on-error mode is set, the default error handler issues a hardware exception, which can make debugging more convenient.

Returns
the previous state
Examples:
samples/cpp/stitching_detailed.cpp.

§ setNumThreads()

void cv::setNumThreads ( int  nthreads)
Python:
None=cv.setNumThreads(nthreads)

OpenCV will try to set the number of threads for the next parallel region.

If threads == 0, OpenCV will disable threading optimizations and run all it's functions sequentially. Passing threads < 0 will reset threads number to system default. This function must be called outside of parallel region.

OpenCV will try to run its functions with specified threads number, but some behaviour differs from framework:

  • TBB - User-defined parallel constructions will run with the same threads number, if another is not specified. If later on user creates his own scheduler, OpenCV will use it.
  • OpenMP - No special defined behaviour.
  • Concurrency - If threads == 1, OpenCV will disable threading optimizations and run its functions sequentially.
  • GCD - Supports only values <= 0.
  • C= - No special defined behaviour.
    Parameters
    nthreadsNumber of threads used by OpenCV.
    See also
    getNumThreads, getThreadNum

§ setUseOptimized()

void cv::setUseOptimized ( bool  onoff)
Python:
None=cv.setUseOptimized(onoff)

Enables or disables the optimized code.

The function can be used to dynamically turn on and off optimized dispatched code (code that uses SSE4.2, AVX/AVX2, and other instructions on the platforms that support it). It sets a global flag that is further checked by OpenCV functions. Since the flag is not checked in the inner OpenCV loops, it is only safe to call the function on the very top level in your application where you can be sure that no other OpenCV function is currently executed.

By default, the optimized code is enabled unless you disable it in CMake. The current status can be retrieved using useOptimized.

Parameters
onoffThe boolean flag specifying whether the optimized code should be used (onoff=true) or not (onoff=false).

§ tempfile()

String cv::tempfile ( const char *  suffix = 0)

§ useOptimized()

bool cv::useOptimized ( )
Python:
retval=cv.useOptimized()

Returns the status of optimized code usage.

The function returns true if the optimized code is enabled. Otherwise, it returns false.