OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
实用工具、系统函数及宏

主题

 日志设施
 
 SSE 实用工具
 
 NEON 实用工具
 
 VSX 实用工具
 
 软浮点支持
 
 OpenCV 示例实用函数
 
 

详细说明

命名空间

命名空间  cv
 
命名空间  cv::details
 
命名空间  cv::Error
 
命名空间  cv::instr
 
命名空间  cv::utils::fs
 

类  cv::Allocator< _Tp >
 
类  cv::AutoBuffer< _Tp, fixed_size >
 自动分配的缓冲区类。更多...
 
类  cv::utils::BufferArea
 管理由多个缓冲区共享的内存块。更多...
 
类  cv::CommandLineParser
 专为命令行解析设计。更多...
 
联合体 (union)  Cv16suf
 
联合体 (union)  Cv32suf
 
联合体 (union)  Cv64suf
 
类  cv::Exception
 传递给错误的类。更多...
 
结构体  cv::Hamming
 
类  cv::ParallelLoopBody
 并行数据处理器的基类。更多...
 
类  cv::ParallelLoopBodyLambdaWrapper
 
类  cv::TickMeter
 测量经过时间的类。更多...
 
类  cv::TLSData< T >
 简单的线程本地存储 (TLS) 数据类。更多...
 
类  cv::TLSDataAccumulator< T >
 带有收集方法的 TLS 数据累加器。更多...
 
类  cv::TLSDataContainer
 

#define __has_cpp_attribute(__x)
 
#define CV_2PI   6.283185307179586476925286766559
 
#define CV_ALWAYS_INLINE   inline
 
#define CV_Assert(expr)
 在运行时检查条件,如果失败则抛出异常。
 
#define CV_AssertTerminate(expr)
 
#define CV_CDECL
 
#define CV_CMP(a, b)
 
#define CV_CONSTEXPR   constexpr
 
#define CV_CPU_AVX   10
 
#define CV_CPU_AVX2   11
 
#define CV_CPU_AVX512_CLX   261
 
#define CV_CPU_AVX512_CNL   260
 
#define CV_CPU_AVX512_COMMON   257
 
#define CV_CPU_AVX512_ICL   262
 
#define CV_CPU_AVX512_KNL   258
 
#define CV_CPU_AVX512_KNM   259
 
#define CV_CPU_AVX512_SKX   256
 
#define CV_CPU_AVX_5124FMAPS   27
 
#define CV_CPU_AVX_5124VNNIW   26
 
#define CV_CPU_AVX_512BITALG   24
 
#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_512VBMI2   22
 
#define CV_CPU_AVX_512VL   21
 
#define CV_CPU_AVX_512VNNI   23
 
#define CV_CPU_AVX_512VPOPCNTDQ   25
 
#define CV_CPU_FMA3   12
 
#define CV_CPU_FP16   9
 
#define CV_CPU_LASX   231
 
#define CV_CPU_LSX   230
 
#define CV_CPU_MMX   1
 
#define CV_CPU_MSA   150
 
#define CV_CPU_NEON   100
 
#define CV_CPU_NEON_BF16   103
 
#define CV_CPU_NEON_DOTPROD   101
 
#define CV_CPU_NEON_FP16   102
 
#define CV_CPU_NONE   0
 
#define CV_CPU_POPCNT   8
 
#define CV_CPU_RISCVV   170
 
#define CV_CPU_RVV   210
 
#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_SVE   104
 
#define CV_CPU_VSX   200
 
#define CV_CPU_VSX3   201
 
#define CV_CXX11   1
 
#define CV_DbgAssert(expr)
 
#define CV_DECL_ALIGNED(x)
 
#define CV_ELEM_SIZE(type)
 
#define CV_ELEM_SIZE1(type)
 
#define CV_ENABLE_UNROLLED   1
 
#define CV_ENUM_CLASS_EXPOSE(EnumType, ...)
 
#define CV_ENUM_FLAGS(EnumType)
 
#define CV_Error(code, msg)
 调用错误处理器。
 
#define CV_Error_(code, args)
 调用错误处理器。
 
#define CV_EXPORTS_AS(synonym)
 
#define CV_EXPORTS_TEMPLATE   CV_EXPORTS
 
#define CV_EXPORTS_W   CV_EXPORTS
 
#define CV_EXPORTS_W_MAP   CV_EXPORTS
 
#define CV_EXPORTS_W_PARAMS   CV_EXPORTS
 
#define CV_EXPORTS_W_SIMPLE   CV_EXPORTS
 
#define CV_EXTERN_C   extern "C"
 
#define CV_FINAL   final
 
#define CV_FOURCC_MACRO(c1, c2, c3, c4)
 用于构建编解码器的 fourcc 代码的宏。与 CV_FOURCC() 相同
 
#define CV_FP16_TYPE   0
 
#define CV_HARDWARE_MAX_FEATURE   512
 
#define CV_IMAX(a, b)
 
#define CV_IMIN(a, b)
 
#define CV_IN_OUT
 
#define CV_IS_CONT_MAT   CV_IS_MAT_CONT
 
#define CV_IS_MAT_CONT(flags)
 
#define CV_IS_SUBMAT(flags)
 
#define CV_LOG2   0.69314718055994530941723212145818
 
#define CV_MAT_CN(flags)
 
#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)
 
#define CV_MAT_TYPE_MASK   (CV_DEPTH_MAX*CV_CN_MAX - 1)
 
#define CV_MAX_DIM   32
 
#define CV_ND
 
#define CV_NODISCARD_STD   /* 默认不执行任何操作 */
 
#define CV_NOEXCEPT   noexcept
 
#define CV_OUT
 
#define CV_OVERRIDE   override
 
#define CV_PI   3.1415926535897932384626433832795
 
#define CV_PROP
 
#define CV_PROP_RW
 
#define CV_SIGN(a)
 
#define CV_STDCALL
 
#define CV_STRONG_ALIGNMENT   0
 
#define CV_SUBMAT_FLAG   (1 << CV_SUBMAT_FLAG_SHIFT)
 
#define CV_SUBMAT_FLAG_SHIFT   15
 
#define CV_SWAP(a, b, t)
 
#define CV_WRAP
 
#define CV_WRAP_AS(synonym)
 
#define CV_WRAP_DEFAULT(val)
 
#define CV_WRAP_FILE_PATH
 
#define CV_WRAP_MAPPABLE(mappable)
 
#define CV_WRAP_PHANTOM(phantom_header)
 
#define MAX(a, b)
 
#define MIN(a, b)
 
#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
 

枚举

enum  cv::AlgorithmHint {
  cv::ALGO_HINT_DEFAULT = 0 ,
  cv::ALGO_HINT_ACCURATE = 1 ,
  cv::ALGO_HINT_APPROX = 2
}
 允许修改某些函数行为的标志。用作标志集。更多...
 
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_AVX_512VBMI2 = 22 ,
  CPU_AVX_512VNNI = 23 ,
  CPU_AVX_512BITALG = 24 ,
  CPU_AVX_512VPOPCNTDQ = 25 ,
  CPU_AVX_5124VNNIW = 26 ,
  CPU_AVX_5124FMAPS = 27 ,
  CPU_NEON = 100 ,
  CPU_NEON_DOTPROD = 101 ,
  CPU_NEON_FP16 = 102 ,
  CPU_NEON_BF16 = 103 ,
  CPU_SVE = 104 ,
  CPU_MSA = 150 ,
  CPU_RISCVV = 170 ,
  CPU_VSX = 200 ,
  CPU_VSX3 = 201 ,
  CPU_RVV = 210 ,
  CPU_LSX = 230 ,
  CPU_LASX = 231 ,
  CPU_AVX512_SKX = 256 ,
  CPU_AVX512_COMMON = 257 ,
  CPU_AVX512_KNL = 258 ,
  CPU_AVX512_KNM = 259 ,
  CPU_AVX512_CNL = 260 ,
  CPU_AVX512_CLX = 261 ,
  CPU_AVX512_ICL = 262 ,
  CPU_MAX_FEATURE = 512
}
 可用的 CPU 特性。更多...
 
enum  cv::SortFlags {
  cv::SORT_EVERY_ROW = 0 ,
  cv::SORT_EVERY_COLUMN = 1 ,
  cv::SORT_ASCENDING = 0 ,
  cv::SORT_DESCENDING = 16
}
 

函数

template<typename _Tp >
static _Tpcv::alignPtr (_Tp *ptr, int n=(int) sizeof(_Tp))
 将指针按照指定的字节数对齐。
 
static size_t cv::alignSize (size_t sz, int n)
 将缓冲区大小按照指定的字节数对齐。
 
bool cv::checkHardwareSupport (int feature)
 如果主机硬件支持指定的功能,则返回 true。
 
bool cv::Cholesky (double *A, size_t astep, int m, double *b, size_t bstep, int n)
 
bool cv::Cholesky (float *A, size_t astep, int m, float *b, size_t bstep, int n)
 
static double cv::cubeRoot (double val)
 
float cv::cubeRoot (float val)
 计算参数的立方根。
 
template<typename _Tp >
_Tp cv::cv_abs (_Tp x)
 
int cv::cv_abs (schar x)
 
int cv::cv_abs (short x)
 
int cv::cv_abs (uchar x)
 
int cv::cv_abs (ushort x)
 
int CV_FOURCC (char c1, char c2, char c3, char c4)
 构建用于视频编解码器及多处的 'fourcc' 代码。只需使用 4 个字符调用即可,如 `CV_FOURCC('I', 'Y', 'U', 'V')`。
 
int cvCeil (double value)
 将浮点数向上舍入为不小于原始值的最近整数。
 
int cvCeil (float value)
 
int cvCeil (int value)
 
int cvFloor (double value)
 将浮点数向下舍入为不大于原始值的最近整数。
 
int cvFloor (float value)
 
int cvFloor (int value)
 
int cvIsInf (double value)
 判断参数是否为无穷大 (Infinity)。
 
int cvIsInf (float value)
 
int cvIsNaN (double value)
 判断参数是否为非数字 (Not A Number)。
 
int cvIsNaN (float value)
 
int cvRound (double value)
 将浮点数舍入为最近的整数。
 
int cvRound (float value)
 
int cvRound (int value)
 
static int cv::divUp (int a, unsigned int b)
 结果向上舍入的整数除法。
 
static size_t cv::divUp (size_t a, unsigned int b)
 
static String cv::utils::dumpBool (bool argument)
 
static String cv::utils::dumpCString (const char *argument)
 
static String cv::utils::dumpDouble (double argument)
 
static String cv::utils::dumpFloat (float argument)
 
String cv::utils::dumpInputArray (InputArray argument)
 
String cv::utils::dumpInputArrayOfArrays (InputArrayOfArrays argument)
 
String cv::utils::dumpInputOutputArray (InputOutputArray argument)
 
String cv::utils::dumpInputOutputArrayOfArrays (InputOutputArrayOfArrays argument)
 
static String cv::utils::dumpInt (int argument)
 
static String cv::utils::dumpInt64 (int64 argument)
 
static String cv::utils::dumpRange (const Range &argument)
 
static String cv::utils::dumpRect (const Rect &argument)
 
static String cv::utils::dumpRotatedRect (const RotatedRect &argument)
 
static String cv::utils::dumpSizeT (size_t argument)
 
static String cv::utils::dumpString (const String &argument)
 
static String cv::utils::dumpTermCriteria (const TermCriteria &argument)
 
String cv::utils::dumpVectorOfDouble (const std::vector< double > &vec)
 
String cv::utils::dumpVectorOfInt (const std::vector< int > &vec)
 
String cv::utils::dumpVectorOfRect (const std::vector< Rect > &vec)
 
void cv::error (const Exception &exc)
 发出错误信号并引发异常。
 
void cv::error (int code, const String &err, const char *func, const char *file, int line)
 发出错误信号并引发异常。
 
float cv::fastAtan2 (float y, float x)
 以度为单位计算 2D 向量的角度。
 
void cv::fastFree (void *ptr)
 释放内存缓冲区。
 
void * cv::fastMalloc (size_t bufSize)
 分配对齐的内存缓冲区。
 
template<typename _Tp , typename Functor >
void cv::Mat::forEach_impl (const Functor &operation)
 
String cv::format (const char *fmt,...)
 返回使用类似 printf 表达式格式化的文本字符串。
 
const Stringcv::getBuildInformation ()
 返回配置时的完整 cmake 输出。
 
std::string cv::getCPUFeaturesLine ()
 返回编译期间启用的 CPU 功能列表。
 
int64 cv::getCPUTickCount ()
 返回 CPU 滴答数。
 
AlgorithmHint cv::getDefaultAlgorithmHint ()
 返回 OpenCV 编译期间定义的 AlgorithmHint。定义 ALGO_HINT_DEFAULT 的行为。
 
static size_t cv::getElemSize (int type)
 
String cv::getHardwareFeatureName (int feature)
 根据 ID 返回特性名称。
 
int cv::getNumberOfCPUs ()
 返回进程可用的逻辑 CPU 数量。
 
int cv::getNumThreads ()
 返回 OpenCV 在并行区域使用的线程数。
 
int cv::getThreadNum ()
 返回当前并行区域内当前执行线程的索引。如果在并行区域外调用,则始终返回 0。
 
int64 cv::getTickCount ()
 返回滴答数。
 
double cv::getTickFrequency ()
 返回每秒的滴答数。
 
int cv::getVersionMajor ()
 返回库的主版本号。
 
int cv::getVersionMinor ()
 返回库的次版本号。
 
int cv::getVersionRevision ()
 返回库版本的修订字段。
 
String cv::getVersionString ()
 返回库版本字符串。
 
void cv::glob (String pattern, std::vector< String > &result, bool recursive=false)
 在目录中搜索匹配指定模式的文件。
 
template<int N, typename T >
static bool cv::isAligned (const T &data)
 对传递的值进行对齐检查。
 
template<int N>
static bool cv::isAligned (const void *p1)
 
template<int N>
static bool cv::isAligned (const void *p1, const void *p2)
 
template<int N>
static bool cv::isAligned (const void *p1, const void *p2, const void *p3)
 
template<int N>
static bool cv::isAligned (const void *p1, const void *p2, const void *p3, const void *p4)
 
int cv::LU (double *A, size_t astep, int m, double *b, size_t bstep, int n)
 
int cv::LU (float *A, size_t astep, int m, float *b, size_t bstep, 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::normInf (const _Tp *a, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL1 (const _Tp *a, const _Tp *b, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL1 (const _Tp *a, 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, const _Tp *b, int n)
 
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr (const _Tp *a, 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)
 输出运算符
 
ErrorCallback cv::redirectError (ErrorCallback errCallback, void *userdata=0, void **prevUserdata=0)
 设置新的错误处理程序和可选的用户数据。
 
static int cv::roundUp (int a, unsigned int b)
 将第一个值向上舍入为第二个值的最近倍数。
 
static size_t cv::roundUp (size_t a, unsigned int b)
 
template<typename _Tp >
static _Tp cv::saturate_cast (double v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (float v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (hfloat v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (int v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (int64 v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (schar v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (short v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (uchar v)
 用于从一种原始类型准确转换为另一种原始类型的模板函数。
 
template<typename _Tp >
static _Tp cv::saturate_cast (uint64 v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (unsigned v)
 
template<typename _Tp >
static _Tp cv::saturate_cast (ushort v)
 
template<>
hfloat cv::saturate_cast< hfloat > (double v)
 
template<>
hfloat cv::saturate_cast< hfloat > (float v)
 
template<>
hfloat cv::saturate_cast< hfloat > (int v)
 
template<>
hfloat cv::saturate_cast< hfloat > (int64 v)
 
template<>
hfloat cv::saturate_cast< hfloat > (schar v)
 
template<>
hfloat cv::saturate_cast< hfloat > (short v)
 
template<>
hfloat cv::saturate_cast< hfloat > (uchar v)
 
template<>
hfloat cv::saturate_cast< hfloat > (uint64 v)
 
template<>
hfloat cv::saturate_cast< hfloat > (unsigned v)
 
template<>
hfloat cv::saturate_cast< hfloat > (ushort v)
 
template<>
int64 cv::saturate_cast< int64 > (uint64 v)
 
template<>
schar cv::saturate_cast< schar > (double v)
 
template<>
schar cv::saturate_cast< schar > (float v)
 
template<>
schar cv::saturate_cast< schar > (int v)
 
template<>
schar cv::saturate_cast< schar > (int64 v)
 
template<>
schar cv::saturate_cast< schar > (short v)
 
template<>
schar cv::saturate_cast< schar > (uchar v)
 
template<>
schar cv::saturate_cast< schar > (uint64 v)
 
template<>
schar cv::saturate_cast< schar > (unsigned v)
 
template<>
schar cv::saturate_cast< schar > (ushort v)
 
template<>
short cv::saturate_cast< short > (double v)
 
template<>
short cv::saturate_cast< short > (float v)
 
template<>
short cv::saturate_cast< short > (int v)
 
template<>
short cv::saturate_cast< short > (int64 v)
 
template<>
short cv::saturate_cast< short > (uint64 v)
 
template<>
short cv::saturate_cast< short > (unsigned v)
 
template<>
short cv::saturate_cast< short > (ushort v)
 
template<>
uchar cv::saturate_cast< uchar > (double v)
 
template<>
uchar cv::saturate_cast< uchar > (float v)
 
template<>
uchar cv::saturate_cast< uchar > (int v)
 
template<>
uchar cv::saturate_cast< uchar > (int64 v)
 
template<>
uchar cv::saturate_cast< uchar > (schar v)
 
template<>
uchar cv::saturate_cast< uchar > (short v)
 
template<>
uchar cv::saturate_cast< uchar > (uint64 v)
 
template<>
uchar cv::saturate_cast< uchar > (unsigned v)
 
template<>
uchar cv::saturate_cast< uchar > (ushort v)
 
template<>
uint64 cv::saturate_cast< uint64 > (int v)
 
template<>
uint64 cv::saturate_cast< uint64 > (int64 v)
 
template<>
uint64 cv::saturate_cast< uint64 > (schar v)
 
template<>
uint64 cv::saturate_cast< uint64 > (short v)
 
template<>
unsigned cv::saturate_cast< unsigned > (double v)
 
template<>
unsigned cv::saturate_cast< unsigned > (float v)
 
template<>
unsigned cv::saturate_cast< unsigned > (int v)
 
template<>
unsigned cv::saturate_cast< unsigned > (int64 v)
 
template<>
unsigned cv::saturate_cast< unsigned > (schar v)
 
template<>
unsigned cv::saturate_cast< unsigned > (short v)
 
template<>
unsigned cv::saturate_cast< unsigned > (uint64 v)
 
template<>
ushort cv::saturate_cast< ushort > (double v)
 
template<>
ushort cv::saturate_cast< ushort > (float v)
 
template<>
ushort cv::saturate_cast< ushort > (int v)
 
template<>
ushort cv::saturate_cast< ushort > (int64 v)
 
template<>
ushort cv::saturate_cast< ushort > (schar v)
 
template<>
ushort cv::saturate_cast< ushort > (short v)
 
template<>
ushort cv::saturate_cast< ushort > (uint64 v)
 
template<>
ushort cv::saturate_cast< ushort > (unsigned v)
 
bool cv::setBreakOnError (bool flag)
 设置/重置出错时中断模式。
 
void cv::setNumThreads (int nthreads)
 OpenCV 将尝试为随后的并行区域设置线程数。
 
void cv::setUseOptimized (bool onoff)
 启用或禁用优化代码。
 
String cv::tempfile (const char *suffix=0)
 生成唯一的临时文件名。
 
void cv::terminate (int code, const String &err, const char *func, const char *file, int line) CV_NOEXCEPT
 发出错误信号并终止应用程序。
 
bool cv::useOptimized ()
 返回优化代码的使用状态。
 

宏定义文档

◆ __has_cpp_attribute

#define __has_cpp_attribute ( __x)

#include <opencv2/core/cvdef.h>

0

◆ CV_2PI

#define CV_2PI   6.283185307179586476925286766559

◆ CV_ALWAYS_INLINE

#define CV_ALWAYS_INLINE   inline

◆ CV_Assert

#define CV_Assert ( expr)

#include <opencv2/core/base.hpp>

do { if(!!(expr)) ; else cv::error( cv::Error::StsAssert, #expr, CV_Func, __FILE__, __LINE__ ); } while(0)
void error(const Exception &exc)
发出错误信号并引发异常。
@ StsAssert
断言失败
定义见 base.hpp:115

在运行时检查条件,如果失败则抛出异常。

宏 CV_Assert (以及 CV_DbgAssert(expr)) 会计算指定的表达式。如果结果为 0,则该宏引发一个错误(见 cv::error)。宏 CV_Assert 在 Debug 和 Release 配置下都会检查条件,而 CV_DbgAssert 仅在 Debug 配置下保留。CV_AssertTerminate 是 CV_Assert 的类似物,用于在带有 noexcept 属性的函数中进行不变性检查。它不会抛出异常,而是直接终止应用程序。

示例
samples/cpp/grabcut.cpp, samples/cpp/image_alignment.cpp, samples/cpp/train_HOG.cpp, samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp, samples/dnn/classification.cpp, samples/dnn/object_detection.cpp, samples/dnn/segmentation.cpp, 以及 samples/dnn/text_detection.cpp

◆ CV_AssertTerminate

#define CV_AssertTerminate ( expr)

#include <opencv2/core/base.hpp>

do { if(!!(expr)) ; else cv::terminate( #expr, CV_Func, __FILE__, __LINE__ ); } while(0)
void terminate(int code, const String &err, const char *func, const char *file, int line) CV_NOEXCEPT
发出错误信号并终止应用程序。

◆ CV_CDECL

#define CV_CDECL

◆ CV_CMP

#define CV_CMP ( a,
b )

#include <opencv2/core/cvdef.h>

(((a) > (b)) - ((a) < (b)))

◆ CV_CONSTEXPR

#define CV_CONSTEXPR   constexpr

◆ CV_CPU_AVX

#define CV_CPU_AVX   10

◆ CV_CPU_AVX2

#define CV_CPU_AVX2   11

◆ CV_CPU_AVX512_CLX

#define CV_CPU_AVX512_CLX   261

◆ CV_CPU_AVX512_CNL

#define CV_CPU_AVX512_CNL   260

◆ CV_CPU_AVX512_COMMON

#define CV_CPU_AVX512_COMMON   257

◆ CV_CPU_AVX512_ICL

#define CV_CPU_AVX512_ICL   262

◆ CV_CPU_AVX512_KNL

#define CV_CPU_AVX512_KNL   258

◆ CV_CPU_AVX512_KNM

#define CV_CPU_AVX512_KNM   259

◆ CV_CPU_AVX512_SKX

#define CV_CPU_AVX512_SKX   256

◆ CV_CPU_AVX_5124FMAPS

#define CV_CPU_AVX_5124FMAPS   27

◆ CV_CPU_AVX_5124VNNIW

#define CV_CPU_AVX_5124VNNIW   26

◆ CV_CPU_AVX_512BITALG

#define CV_CPU_AVX_512BITALG   24

◆ 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_512VBMI2

#define CV_CPU_AVX_512VBMI2   22

◆ CV_CPU_AVX_512VL

#define CV_CPU_AVX_512VL   21

◆ CV_CPU_AVX_512VNNI

#define CV_CPU_AVX_512VNNI   23

◆ CV_CPU_AVX_512VPOPCNTDQ

#define CV_CPU_AVX_512VPOPCNTDQ   25

◆ CV_CPU_FMA3

#define CV_CPU_FMA3   12

◆ CV_CPU_FP16

#define CV_CPU_FP16   9

◆ CV_CPU_LASX

#define CV_CPU_LASX   231

◆ CV_CPU_LSX

#define CV_CPU_LSX   230

◆ CV_CPU_MMX

#define CV_CPU_MMX   1

◆ CV_CPU_MSA

#define CV_CPU_MSA   150

◆ CV_CPU_NEON

#define CV_CPU_NEON   100

◆ CV_CPU_NEON_BF16

#define CV_CPU_NEON_BF16   103

◆ CV_CPU_NEON_DOTPROD

#define CV_CPU_NEON_DOTPROD   101

◆ CV_CPU_NEON_FP16

#define CV_CPU_NEON_FP16   102

◆ CV_CPU_NONE

#define CV_CPU_NONE   0

◆ CV_CPU_POPCNT

#define CV_CPU_POPCNT   8

◆ CV_CPU_RISCVV

#define CV_CPU_RISCVV   170

◆ CV_CPU_RVV

#define CV_CPU_RVV   210

◆ 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_SVE

#define CV_CPU_SVE   104

◆ CV_CPU_VSX

#define CV_CPU_VSX   200

◆ CV_CPU_VSX3

#define CV_CPU_VSX3   201

◆ CV_CXX11

#define CV_CXX11   1

◆ CV_DbgAssert

#define CV_DbgAssert ( expr)

#include <opencv2/core/base.hpp>

CV_Assert(expr)
#define CV_Assert(expr)
在运行时检查条件,如果失败则抛出异常。
定义于 base.hpp:423

◆ CV_DECL_ALIGNED

#define CV_DECL_ALIGNED ( x)

◆ CV_ELEM_SIZE

#define CV_ELEM_SIZE ( type)

#include <opencv2/core/cvdef.h>

(CV_MAT_CN(type)*CV_ELEM_SIZE1(type))
#define CV_ELEM_SIZE1(type)
定义见 cvdef.h:511
#define CV_MAT_CN(flags)
定义见 cvdef.h:498

◆ CV_ELEM_SIZE1

#define CV_ELEM_SIZE1 ( type)

#include <opencv2/core/cvdef.h>

((0x28442211 >> CV_MAT_DEPTH(type)*4) & 15)
#define CV_MAT_DEPTH(flags)
定义见 interface.h:83

每个通道项目的大小,0x28442211 = 0010 1000 0100 0100 0010 0010 0001 0001 ~ sizeof(arr_type_elem) 数组

◆ CV_ENABLE_UNROLLED

#define CV_ENABLE_UNROLLED   1

◆ CV_ENUM_CLASS_EXPOSE

#define CV_ENUM_CLASS_EXPOSE ( EnumType,
... )

#include <opencv2/core/cvdef.h>

__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)

#include <opencv2/core/cvdef.h>

__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 )

#include <opencv2/core/base.hpp>

cv::error( code, msg, CV_Func, __FILE__, __LINE__ )

调用错误处理器。

目前,错误处理程序会将错误代码和错误消息打印到标准错误流 stderr。在 Debug 配置下,它随后会引发内存访问违规,以便调试器分析执行堆栈和所有参数。在 Release 配置下,则抛出异常。

参数
codeError::Code 之一
msg错误消息
示例
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, 以及 samples/dnn/segmentation.cpp

◆ CV_Error_

#define CV_Error_ ( code,
args )

#include <opencv2/core/base.hpp>

cv::error( code, cv::format args, CV_Func, __FILE__, __LINE__ )
String format(const char *fmt,...)
返回使用类似 printf 表达式格式化的文本字符串。

调用错误处理器。

此宏可用于实时构建错误消息以包含一些动态信息,例如

// 注意格式化文本消息周围的额外括号
CV_Error_(Error::StsOutOfRange,
("位于 (%d, %d)=%g 的值超出范围", badPt.x, badPt.y, badValue));
#define CV_Error_(code, args)
调用错误处理器。
定义见 base.hpp:413
参数
codeError::Code 之一
args括号中类似 printf 的格式化错误消息

◆ CV_EXPORTS_AS

#define CV_EXPORTS_AS ( 同义词 (synonym))

#include <opencv2/core/cvdef.h>

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_PARAMS

#define CV_EXPORTS_W_PARAMS   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_FOURCC_MACRO

#define CV_FOURCC_MACRO ( c1,
c2,
c3,
c4 )

#include <opencv2/core/cvdef.h>

(((c1) & 255) + (((c2) & 255) << 8) + (((c3) & 255) << 16) + (((c4) & 255) << 24))

用于构建编解码器的 fourcc 代码的宏。与 CV_FOURCC() 相同

◆ CV_FP16_TYPE

#define CV_FP16_TYPE   0

◆ CV_HARDWARE_MAX_FEATURE

#define CV_HARDWARE_MAX_FEATURE   512

◆ CV_IMAX

#define CV_IMAX ( a,
b )

#include <opencv2/core/cvdef.h>

((a) ^ (((a)^(b)) & (((a) > (b)) - 1)))

◆ CV_IMIN

#define CV_IMIN ( a,
b )

#include <opencv2/core/cvdef.h>

((a) ^ (((a)^(b)) & (((a) < (b)) - 1)))

无跳转的最小和最大值计算

◆ 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 (标志))

#include <opencv2/core/cvdef.h>

((flags) & CV_MAT_CONT_FLAG)
#define CV_MAT_CONT_FLAG
定义见 cvdef.h:502

◆ CV_IS_SUBMAT

#define CV_IS_SUBMAT ( flags (标志))

#include <opencv2/core/cvdef.h>

((flags) & CV_MAT_SUBMAT_FLAG)

◆ CV_LOG2

#define CV_LOG2   0.69314718055994530941723212145818

◆ CV_MAT_CN

#define CV_MAT_CN ( flags (标志))

#include <opencv2/core/cvdef.h>

((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
#define CV_CN_SHIFT
定义见 interface.h:70
#define CV_MAT_CN_MASK
定义见 cvdef.h:497

◆ 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 (标志))

#include <opencv2/core/cvdef.h>

((flags) & CV_MAT_TYPE_MASK)
#define CV_MAT_TYPE_MASK
定义见 cvdef.h:499

◆ CV_MAT_TYPE_MASK

#define CV_MAT_TYPE_MASK   (CV_DEPTH_MAX*CV_CN_MAX - 1)

◆ CV_MAX_DIM

#define CV_MAX_DIM   32

◆ CV_ND

#define CV_ND

◆ CV_NODISCARD_STD

#define CV_NODISCARD_STD   /* 默认不执行任何操作 */

◆ CV_NOEXCEPT

#define CV_NOEXCEPT   noexcept

◆ CV_OUT

#define CV_OUT

◆ CV_OVERRIDE

#define CV_OVERRIDE   override

◆ CV_PI

◆ CV_PROP

#define CV_PROP

◆ CV_PROP_RW

#define CV_PROP_RW

◆ CV_SIGN

#define CV_SIGN ( a)

#include <opencv2/core/cvdef.h>

CV_CMP((a),0)
#define CV_CMP(a, b)
定义见 cvdef.h:527

◆ CV_STDCALL

#define CV_STDCALL

◆ CV_STRONG_ALIGNMENT

#define CV_STRONG_ALIGNMENT   0

◆ CV_SUBMAT_FLAG

#define CV_SUBMAT_FLAG   (1 << CV_SUBMAT_FLAG_SHIFT)

◆ CV_SUBMAT_FLAG_SHIFT

#define CV_SUBMAT_FLAG_SHIFT   15

◆ CV_SWAP

#define CV_SWAP ( a,
b,
t )

#include <opencv2/core/cvdef.h>

((t) = (a), (a) = (b), (b) = (t))

◆ CV_WRAP

#define CV_WRAP

◆ CV_WRAP_AS

#define CV_WRAP_AS ( 同义词 (synonym))

◆ CV_WRAP_DEFAULT

#define CV_WRAP_DEFAULT ( val)

◆ CV_WRAP_FILE_PATH

#define CV_WRAP_FILE_PATH

◆ CV_WRAP_MAPPABLE

#define CV_WRAP_MAPPABLE ( mappable)

◆ CV_WRAP_PHANTOM

#define CV_WRAP_PHANTOM ( phantom_header)

◆ MAX

◆ MIN

#define MIN ( a,
b )

◆ 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)

◆ AlgorithmHint

#include <opencv2/core/utility.hpp>

允许修改某些函数行为的标志。用作标志集。

枚举值 (Enumerator)
ALGO_HINT_DEFAULT 
Python: cv.ALGO_HINT_DEFAULT

OpenCV 构建期间定义的默认算法行为。

ALGO_HINT_ACCURATE 
Python: cv.ALGO_HINT_ACCURATE

使用通用的便携式实现。

ALGO_HINT_APPROX 
Python: cv.ALGO_HINT_APPROX

允许使用替代近似值以获得更快的实现。行为和结果取决于平台。

◆ CpuFeatures

#include <opencv2/core/cvdef.h>

可用的 CPU 特性。

枚举值 (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_AVX_512VBMI2 
CPU_AVX_512VNNI 
CPU_AVX_512BITALG 
CPU_AVX_512VPOPCNTDQ 
CPU_AVX_5124VNNIW 
CPU_AVX_5124FMAPS 
CPU_NEON 
CPU_NEON_DOTPROD 
CPU_NEON_FP16 
CPU_NEON_BF16 
CPU_SVE 
CPU_MSA 
CPU_RISCVV 
CPU_VSX 
CPU_VSX3 
CPU_RVV 
CPU_LSX 
CPU_LASX 
CPU_AVX512_SKX 

带有 AVX-512F/CD/BW/DQ/VL 的 Skylake-X。

CPU_AVX512_COMMON 

所有支持 AVX-512 的 CPU 的通用 AVX-512F/CD 指令。

CPU_AVX512_KNL 

带有 AVX-512F/CD/ER/PF 的 Knights Landing。

CPU_AVX512_KNM 

带有 AVX-512F/CD/ER/PF/4FMAPS/4VNNIW/VPOPCNTDQ 的 Knights Mill。

CPU_AVX512_CNL 

带有 AVX-512F/CD/BW/DQ/VL/IFMA/VBMI 的 Cannon Lake。

CPU_AVX512_CLX 

带有 AVX-512F/CD/BW/DQ/VL/VNNI 的 Cascade Lake。

CPU_AVX512_ICL 

带有 AVX-512F/CD/BW/DQ/VL/IFMA/VBMI/VNNI/VBMI2/BITALG/VPOPCNTDQ 的 Ice Lake。

CPU_MAX_FEATURE 

◆ SortFlags

#include <opencv2/core.hpp>

枚举值 (Enumerator)
SORT_EVERY_ROW 
Python: cv.SORT_EVERY_ROW

矩阵的每一行独立排序

SORT_EVERY_COLUMN 
Python: cv.SORT_EVERY_COLUMN

矩阵的每一列独立排序;此标志与前一个标志互斥。

SORT_ASCENDING 
Python: cv.SORT_ASCENDING

矩阵每一行按升序排序。

SORT_DESCENDING 
Python: cv.SORT_DESCENDING

矩阵每一行按降序排序;此标志与前一个标志也互斥。

函数文档 (Function Documentation)

◆ alignPtr()

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

#include <opencv2/core/utility.hpp>

将指针按照指定的字节数对齐。

该函数返回与输入指针类型相同的对齐指针

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

参数
ptr对齐后的指针。
n对齐大小,必须是 2 的幂。

◆ alignSize()

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

#include <opencv2/core/utility.hpp>

将缓冲区大小按照指定的字节数对齐。

该函数返回大于或等于 sz 且能被 n 整除的最小数值

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

参数
sz待对齐的缓冲区大小。
n对齐大小,必须是 2 的幂。

◆ checkHardwareSupport()

bool cv::checkHardwareSupport ( int feature)
Python
cv.checkHardwareSupport(feature) -> retval

#include <opencv2/core/utility.hpp>

如果主机硬件支持指定的功能,则返回 true。

如果主机硬件支持指定的特性,该函数返回 true。当用户调用 setUseOptimized(false) 时,后续对 checkHardwareSupport() 的调用将返回 false,直到调用 setUseOptimized(true)。通过这种方式,用户可以动态地开启或关闭 OpenCV 中的优化代码。

参数
feature感兴趣的特性,cv::CpuFeatures 之一

◆ Cholesky() [1/2]

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

#include <opencv2/core/base.hpp>

hal::Cholesky 的代理

◆ Cholesky() [2/2]

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

#include <opencv2/core/base.hpp>

hal::Cholesky 的代理

◆ cubeRoot() [1/2]

static double cv::cubeRoot ( double val)
inlinestatic
Python
cv.cubeRoot(val) -> retval

#include <opencv2/core/base.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

参数类型为 double 的 cubeRoot 调用 std::cbrt(double)

◆ cubeRoot() [2/2]

float cv::cubeRoot ( float val)
Python
cv.cubeRoot(val) -> retval

#include <opencv2/core/base.hpp>

计算参数的立方根。

函数 cubeRoot 计算 \(\sqrt[3]{\texttt{val}}\)。负数参数也能被正确处理。不处理 NaN 和 Inf。其精度接近单精度数据的最大可能精度。

参数
val函数参数。

◆ cv_abs() [1/5]

template<typename _Tp >
_Tp cv::cv_abs ( _Tp x)
内联

◆ cv_abs() [2/5]

int cv::cv_abs ( schar x)
内联

◆ cv_abs() [3/5]

int cv::cv_abs ( short x)
内联

◆ cv_abs() [4/5]

int cv::cv_abs ( uchar x)
内联

◆ cv_abs() [5/5]

int cv::cv_abs ( ushort x)
内联

◆ CV_FOURCC()

int CV_FOURCC ( char c1,
char c2,
char c3,
char c4 )

#include <opencv2/core/cvdef.h>

构建用于视频编解码器及多处的 'fourcc' 代码。只需使用 4 个字符调用即可,如 `CV_FOURCC('I', 'Y', 'U', 'V')`。

◆ cvCeil() [1/3]

int cvCeil ( double value (值))

#include <opencv2/core/fast_math.hpp>

将浮点数向上舍入为不小于原始值的最近整数。

该函数计算一个整数 i 满足

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

参数
value (值)浮点数。如果数值超出 INT_MIN ... INT_MAX 范围,结果将是未定义的。

◆ cvCeil() [2/3]

int cvCeil ( float value (值))

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ cvCeil() [3/3]

int cvCeil ( int value (值))

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ cvFloor() [1/3]

int cvFloor ( double value (值))

#include <opencv2/core/fast_math.hpp>

将浮点数向下舍入为不大于原始值的最近整数。

该函数计算一个整数 i 满足

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

参数
value (值)浮点数。如果数值超出 INT_MIN ... INT_MAX 范围,结果将是未定义的。

◆ cvFloor() [2/3]

int cvFloor ( float value (值))

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ cvFloor() [3/3]

int cvFloor ( int value (值))

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ cvIsInf() [1/2]

int cvIsInf ( double value (值))

#include <opencv2/core/fast_math.hpp>

判断参数是否为无穷大 (Infinity)。

参数
value (值)输入的浮点值

如果参数是正无穷或负无穷(如 IEEE754 标准定义),该函数返回 1,否则返回 0。

◆ cvIsInf() [2/2]

int cvIsInf ( float value (值))

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ cvIsNaN() [1/2]

int cvIsNaN ( double value (值))

#include <opencv2/core/fast_math.hpp>

判断参数是否为非数字 (Not A Number)。

参数
value (值)输入的浮点值

如果参数是非数字(如 IEEE754 标准定义),该函数返回 1,否则返回 0。

◆ cvIsNaN() [2/2]

int cvIsNaN ( float value (值))

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ cvRound() [1/3]

int cvRound ( double value (值))

◆ cvRound() [2/3]

int cvRound ( float value (值))

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ cvRound() [3/3]

int cvRound ( int value (值))

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ divUp() [1/2]

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

#include <opencv2/core/utility.hpp>

结果向上舍入的整数除法。

使用此函数代替 ceil((float)a / b) 表达式。

另请参阅
alignSize

◆ divUp() [2/2]

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

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ dumpBool()

static String cv::utils::dumpBool ( bool 参数)
inlinestatic
Python
cv.utils.dumpBool(参数) -> retval

◆ dumpCString()

static String cv::utils::dumpCString ( const char * 参数)
inlinestatic
Python
cv.utils.dumpCString(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpDouble()

static String cv::utils::dumpDouble ( double 参数)
inlinestatic
Python
cv.utils.dumpDouble(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpFloat()

static String cv::utils::dumpFloat ( float 参数)
inlinestatic
Python
cv.utils.dumpFloat(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpInputArray()

String cv::utils::dumpInputArray ( InputArray 参数)
Python
cv.utils.dumpInputArray(参数) -> retval

◆ dumpInputArrayOfArrays()

String cv::utils::dumpInputArrayOfArrays ( InputArrayOfArrays 参数)
Python
cv.utils.dumpInputArrayOfArrays(参数) -> retval

◆ dumpInputOutputArray()

String cv::utils::dumpInputOutputArray ( InputOutputArray 参数)
Python
cv.utils.dumpInputOutputArray(参数) -> 返回值, 参数

◆ dumpInputOutputArrayOfArrays()

String cv::utils::dumpInputOutputArrayOfArrays ( InputOutputArrayOfArrays 参数)
Python
cv.utils.dumpInputOutputArrayOfArrays(参数) -> 返回值, 参数

◆ dumpInt()

static String cv::utils::dumpInt ( int 参数)
inlinestatic
Python
cv.utils.dumpInt(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpInt64()

static String cv::utils::dumpInt64 ( int64 参数)
inlinestatic
Python
cv.utils.dumpInt64(参数) -> retval

◆ dumpRange()

static String cv::utils::dumpRange ( const Range & 参数)
inlinestatic
Python
cv.utils.dumpRange(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpRect()

static String cv::utils::dumpRect ( const Rect & 参数)
inlinestatic
Python
cv.utils.dumpRect(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpRotatedRect()

static String cv::utils::dumpRotatedRect ( const RotatedRect & 参数)
inlinestatic
Python
cv.utils.dumpRotatedRect(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpSizeT()

static String cv::utils::dumpSizeT ( size_t 参数)
inlinestatic
Python
cv.utils.dumpSizeT(参数) -> retval

◆ dumpString()

static String cv::utils::dumpString ( const String & 参数)
inlinestatic
Python
cv.utils.dumpString(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpTermCriteria()

static String cv::utils::dumpTermCriteria ( const TermCriteria & 参数)
inlinestatic
Python
cv.utils.dumpTermCriteria(参数) -> retval

#include <opencv2/core/bindings_utils.hpp>

此函数的调用图

◆ dumpVectorOfDouble()

String cv::utils::dumpVectorOfDouble ( const std::vector< double > & vec)
Python
cv.utils.dumpVectorOfDouble(vec) -> retval

◆ dumpVectorOfInt()

String cv::utils::dumpVectorOfInt ( const std::vector< int > & vec)
Python
cv.utils.dumpVectorOfInt(vec) -> retval

◆ dumpVectorOfRect()

String cv::utils::dumpVectorOfRect ( const std::vector< Rect > & vec)
Python
cv.utils.dumpVectorOfRect(vec) -> retval

◆ error() [1/2]

void cv::error ( const Exception & exc)

#include <opencv2/core.hpp>

发出错误信号并引发异常。

默认情况下,该函数将错误信息打印到 stderr,然后如果之前调用过 cv::setBreakOnError() 则停止运行,否则抛出异常。可以通过使用 redirectError() 来更改错误处理方式。

参数
exc抛出的异常。
已弃用
舍弃此版本

◆ error() [2/2]

void cv::error ( int code,
const String & err,
const char * func,
const char * file,
int line )

#include <opencv2/core/base.hpp>

发出错误信号并引发异常。

默认情况下,该函数将错误信息打印到 stderr,然后如果之前调用过 setBreakOnError() 则停止运行,否则抛出异常。可以通过使用 redirectError() 来更改错误处理方式。

参数
code- 错误代码 (Error::Code)
err- 错误描述
func- 函数名称。仅在编译器支持获取时可用
file- 发生错误的源文件名
line- 发生错误在源文件中的行号
另请参阅
CV_Error, CV_Error_, CV_Assert, CV_DbgAssert

◆ fastAtan2()

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

#include <opencv2/core/base.hpp>

以度为单位计算 2D 向量的角度。

函数 fastAtan2 计算输入二维向量的全量程角度。角度以度为单位,范围从 0 到 360 度。精度约为 0.3 度。

参数
x向量的 x 坐标。
y向量的 y 坐标。

◆ fastFree()

void cv::fastFree ( void * ptr)

#include <opencv2/core/cvstd.hpp>

释放内存缓冲区。

该函数释放由 fastMalloc 分配的缓冲区。如果传递的是 NULL 指针,则该函数不执行任何操作。该函数的 C 版本会清除指针 pptr,以避免重复内存释放带来的问题。

参数
ptr指向已分配缓冲区的指针。

◆ fastMalloc()

void * cv::fastMalloc ( size_t bufSize)

#include <opencv2/core/cvstd.hpp>

分配对齐的内存缓冲区。

该函数分配指定大小的缓冲区并将其返回。当缓冲区大小为 16 字节或更多时,返回的缓冲区将按 16 字节对齐。

参数
bufSize分配的缓冲区大小。

◆ forEach_impl()

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

#include <opencv2/core/mat.hpp>

idx 在 this->rowCall 中被修改

此函数的调用图

◆ format()

String cv::format ( const char * fmt,
... )

#include <opencv2/core/operations.hpp>

返回使用类似 printf 表达式格式化的文本字符串。

该函数的作用类似于 sprintf,但它生成并返回一个 STL 字符串。它可以用于在 Exception 构造函数中生成错误消息。

参数
fmt符合 printf 标准的格式说明符。

注意**

类型说明符
const char* s
char c
float / doublef,g
int, long, long longd, ld, `lld
unsigned, unsigned long, unsigned long longu, lu, llu
uint64 -> uintmax_t, int64 -> intmax_tju, jd
size_t zu

◆ getBuildInformation()

const String & cv::getBuildInformation ( )
Python
cv.getBuildInformation() -> retval

#include <opencv2/core/utility.hpp>

返回配置时的完整 cmake 输出。

返回值为原始的 cmake 输出,包括版本控制系统修订号、编译器版本、编译器标志、启用的模块和第三方库等。输出格式取决于目标架构。

◆ getCPUFeaturesLine()

std::string cv::getCPUFeaturesLine ( )
Python
cv.getCPUFeaturesLine() -> retval

#include <opencv2/core/utility.hpp>

返回编译期间启用的 CPU 功能列表。

返回值为一个字符串,包含以空格分隔的 CPU 特性列表,并带有以下标记:

  • 无标记 - 基础特性
  • 前缀 * - 在调度器中启用的特性
  • 后缀 ? - 已启用但硬件不可用的特性

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

◆ getCPUTickCount()

int64 cv::getCPUTickCount ( )
Python
cv.getCPUTickCount() -> retval

#include <opencv2/core/utility.hpp>

返回 CPU 滴答数。

在某些架构(如 x86、x64、PowerPC)上,该函数返回当前的 CPU 周期数。在其他平台上,该函数等同于 getTickCount。它也可用于非常精确的时间测量,以及 RNG 初始化。注意,在多 CPU 系统中,调用 getCPUTickCount 的线程可能会被挂起并在另一个拥有自己计数器的 CPU 上恢复。因此,理论上(以及实际上)后续调用该函数不一定返回单调递增的值。此外,由于现代 CPU 会根据负载改变 CPU 频率,因此在某些代码中消耗的 CPU 时钟数不能直接转换为时间单位。因此,getTickCount 通常是测量执行时间的更佳方案。

◆ getDefaultAlgorithmHint()

AlgorithmHint cv::getDefaultAlgorithmHint ( )
Python
cv.getDefaultAlgorithmHint() -> retval

#include <opencv2/core/utility.hpp>

返回 OpenCV 编译期间定义的 AlgorithmHint。定义 ALGO_HINT_DEFAULT 的行为。

◆ getElemSize()

static size_t cv::getElemSize ( int type)
inlinestatic

◆ getHardwareFeatureName()

String cv::getHardwareFeatureName ( int feature)
Python
cv.getHardwareFeatureName(feature) -> retval

#include <opencv2/core/utility.hpp>

根据 ID 返回特性名称。

如果未定义特性,则返回空字符串

◆ getNumberOfCPUs()

int cv::getNumberOfCPUs ( )
Python
cv.getNumberOfCPUs() -> retval

#include <opencv2/core/utility.hpp>

返回进程可用的逻辑 CPU 数量。

◆ getNumThreads()

int cv::getNumThreads ( )
Python
cv.getNumThreads() -> retval

#include <opencv2/core/utility.hpp>

返回 OpenCV 在并行区域使用的线程数。

如果 OpenCV 构建时没有多线程支持,则始终返回 1。

返回值的具体含义取决于 OpenCV 库所使用的线程框架:

  • TBB - OpenCV 将尝试在并行区域使用的线程数。如果用户代码中有任何 tbb::thread_scheduler_init 与 OpenCV 冲突,则该函数返回 TBB 库使用的默认线程数。
  • OpenMP - 可用于形成新团队的线程数上限。
  • Concurrency - OpenCV 将尝试在并行区域使用的线程数。
  • GCD - 不支持;为了兼容性,返回 GCD 线程池限制 (512)。
  • C= - 如果之前调用过 setNumThreads 且线程数 > 0,则为 OpenCV 将尝试在并行区域使用的线程数,否则返回进程可用的逻辑 CPU 数量。
    另请参阅
    setNumThreads, getThreadNum

◆ getThreadNum()

int cv::getThreadNum ( )
Python
cv.getThreadNum() -> retval

#include <opencv2/core/utility.hpp>

返回当前并行区域内当前执行线程的索引。如果在并行区域外调用,则始终返回 0。

已弃用
当前的实现与此文档不对应。

返回值的具体含义取决于 OpenCV 库所使用的线程框架:

  • TBB - 当前 4.1 TBB 版本不支持。未来可能会支持。
  • OpenMP - 调用线程在当前团队中的线程编号。
  • Concurrency - 当前上下文正在其上执行的虚拟处理器的 ID(主线程为 0,其他线程为唯一编号,但不一定是 1,2,3...)。
  • GCD - 系统调用线程的 ID。在并行区域内绝不返回 0。
  • C= - 当前并行任务的索引。
    另请参阅
    setNumThreads, getNumThreads

◆ getTickCount()

int64 cv::getTickCount ( )
Python
cv.getTickCount() -> retval

#include <opencv2/core/utility.hpp>

返回滴答数。

该函数返回自某个特定事件(例如,开机)后的周期数。它可以用于初始化 RNG,或通过读取函数调用前后的周期数来测量函数执行时间。

另请参阅
getTickFrequency, TickMeter

◆ getTickFrequency()

double cv::getTickFrequency ( )
Python
cv.getTickFrequency() -> retval

#include <opencv2/core/utility.hpp>

返回每秒的滴答数。

该函数返回每秒的周期数。也就是说,以下代码可以计算以秒为单位的执行时间:

double t = (double)getTickCount();
// 执行某些操作 ...
t = ((double)getTickCount() - t)/getTickFrequency();
double getTickFrequency()
返回每秒的滴答数。
int64 getTickCount()
返回滴答数。
另请参阅
getTickCount, TickMeter

◆ getVersionMajor()

int cv::getVersionMajor ( )
Python
cv.getVersionMajor() -> retval

#include <opencv2/core/utility.hpp>

返回库的主版本号。

◆ getVersionMinor()

int cv::getVersionMinor ( )
Python
cv.getVersionMinor() -> retval

#include <opencv2/core/utility.hpp>

返回库的次版本号。

◆ getVersionRevision()

int cv::getVersionRevision ( )
Python
cv.getVersionRevision() -> retval

#include <opencv2/core/utility.hpp>

返回库版本的修订字段。

◆ getVersionString()

String cv::getVersionString ( )
Python
cv.getVersionString() -> retval

#include <opencv2/core/utility.hpp>

返回库版本字符串。

例如 "3.4.1-dev"。

另请参阅
getMajorVersion, getMinorVersion, getRevisionVersion

◆ glob()

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

#include <opencv2/core/utility.hpp>

在目录中搜索匹配指定模式的文件。

此函数在指定目录中搜索与给定模式(例如 *.jpg)匹配的文件。搜索可以仅限于目录本身,也可以递归包含子目录。

参数
pattern文件搜索模式,可以包含通配符,如 *(匹配多个字符)或 ?(匹配单个字符)。
result存储与搜索模式匹配的文件路径的输出向量。
recursive(可选)布尔标志,指示是否递归搜索子目录。如果为 true,搜索将包含所有子目录。默认值为 false

◆ isAligned() [1/5]

template<int N, typename T >
static bool cv::isAligned ( const T & data (数据))
inlinestatic

#include <opencv2/core/utility.hpp>

对传递的值进行对齐检查。

用法:isAligned<sizeof(int)>(...)

注意
对齐值 (N) 必须是 2 的幂 (2**k, 2^k)

◆ isAligned() [2/5]

template<int N>
static bool cv::isAligned ( const void * p1)
inlinestatic

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

此函数的调用图

◆ isAligned() [3/5]

template<int N>
static bool cv::isAligned ( const void * p1,
const void * p2 )
inlinestatic

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

此函数的调用图

◆ isAligned() [4/5]

template<int N>
static bool cv::isAligned ( const void * p1,
const void * p2,
const void * p3 )
inlinestatic

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

此函数的调用图

◆ isAligned() [5/5]

template<int N>
static bool cv::isAligned ( const void * p1,
const void * p2,
const void * p3,
const void * p4 )
inlinestatic

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

此函数的调用图

◆ LU() [1/2]

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

#include <opencv2/core/base.hpp>

hal::LU 的代理

◆ LU() [2/2]

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

#include <opencv2/core/base.hpp>

hal::LU 的代理

◆ normInf() [1/2]

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

◆ normInf() [2/2]

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

#include <opencv2/core/base.hpp>

此函数的调用图

◆ normL1() [1/4]

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

◆ normL1() [2/4]

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

#include <opencv2/core/base.hpp>

此函数的调用图

◆ normL1() [3/4]

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

◆ normL1() [4/4]

int cv::normL1 ( const uchar * a,
const uchar * b,
int n )
内联

◆ normL2Sqr() [1/3]

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

◆ normL2Sqr() [2/3]

template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr ( const _Tp * a,
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

#include <opencv2/core/utility.hpp>

输出运算符

tm.start();
// 执行某些操作 ...
tm.stop();
std::cout << tm;
一个用于测量经过时间的类。
定义在 utility.hpp:326
void start()
开始计算周期数。
定义在 utility.hpp:335
void stop()
停止计算周期数。
定义在 utility.hpp:341
此函数的调用图

◆ redirectError()

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

#include <opencv2/core/utility.hpp>

设置新的错误处理程序和可选的用户数据。

该函数设置新的错误处理程序,该程序由 cv::error() 调用。

参数
errCallback新的错误处理程序。如果为 NULL,则使用默认的错误处理程序。
userdata可选的用户数据指针,传递给回调函数。
prevUserdata可选的输出参数,用于存储上一个用户数据指针
返回
上一个错误处理程序

◆ roundUp() [1/2]

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

#include <opencv2/core/utility.hpp>

将第一个值向上舍入为第二个值的最近倍数。

使用此函数代替 ceil((float)a / b) * b 表达式。

另请参阅
divUp

◆ roundUp() [2/2]

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

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [1/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [2/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [3/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

此函数的调用图

◆ saturate_cast() [4/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [5/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [6/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [7/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [8/11]

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

#include <opencv2/core/saturate.hpp>

用于从一种原始类型准确转换为另一种原始类型的模板函数。

函数 saturate_cast 类似于标准 C++ 的转换操作,如 static_cast<T>() 等。它在原始类型之间执行高效且准确的转换(参见引言章节)。名称中的 saturate 意味着当输入值 v 超出目标类型的范围时,结果不是简单地通过取输入的低位来形成,而是被截断(饱和处理)。例如:

uchar a = saturate_cast<uchar>(-100); // a = 0 (UCHAR_MIN)
short b = saturate_cast<short>(33333.33333); // b = 32767 (SHRT_MAX)
unsigned char uchar
定义于 interface.h:51
uchar saturate_cast< uchar >(schar v)
定义在 saturate.hpp:101
short saturate_cast< short >(ushort v)
定义在 saturate.hpp:130

当目标类型为 unsigned char、signed char、unsigned short 或 signed short 时,会进行这种截断。对于 32 位整数,不进行截断。

当参数为浮点值且目标类型为整数(8 位、16 位或 32 位)时,浮点值首先四舍五入到最近的整数,然后在需要时进行截断(当目标类型为 8 位或 16 位时)。

参数
v函数参数。
另请参阅
add, subtract, multiply, divide, Mat::convertTo

◆ saturate_cast() [9/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [10/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast() [11/11]

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

#include <opencv2/core/saturate.hpp>

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

◆ saturate_cast< hfloat >() [1/10]

template<>
hfloat cv::saturate_cast< hfloat > ( double v)
内联

◆ saturate_cast< hfloat >() [2/10]

template<>
hfloat cv::saturate_cast< hfloat > ( float v)
内联

◆ saturate_cast< hfloat >() [3/10]

template<>
hfloat cv::saturate_cast< hfloat > ( int v)
内联

◆ saturate_cast< hfloat >() [4/10]

template<>
hfloat cv::saturate_cast< hfloat > ( int64 v)
内联

◆ saturate_cast< hfloat >() [5/10]

template<>
hfloat cv::saturate_cast< hfloat > ( schar v)
内联

◆ saturate_cast< hfloat >() [6/10]

template<>
hfloat cv::saturate_cast< hfloat > ( short v)
内联

◆ saturate_cast< hfloat >() [7/10]

template<>
hfloat cv::saturate_cast< hfloat > ( uchar v)
内联

◆ saturate_cast< hfloat >() [8/10]

template<>
hfloat cv::saturate_cast< hfloat > ( uint64 v)
内联

◆ saturate_cast< hfloat >() [9/10]

template<>
hfloat cv::saturate_cast< hfloat > ( unsigned v)
内联

◆ saturate_cast< hfloat >() [10/10]

template<>
hfloat cv::saturate_cast< hfloat > ( ushort v)
内联

◆ saturate_cast< int64 >()

template<>
int64 cv::saturate_cast< int64 > ( uint64 v)
内联

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

template<>
schar cv::saturate_cast< schar > ( double v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
schar cv::saturate_cast< schar > ( float v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
schar cv::saturate_cast< schar > ( int v)
内联

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

template<>
schar cv::saturate_cast< schar > ( int64 v)
内联

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

template<>
schar cv::saturate_cast< schar > ( short v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
schar cv::saturate_cast< schar > ( uchar v)
内联

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

template<>
schar cv::saturate_cast< schar > ( uint64 v)
内联

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

template<>
schar cv::saturate_cast< schar > ( unsigned v)
内联

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

template<>
schar cv::saturate_cast< schar > ( ushort v)
内联

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

template<>
short cv::saturate_cast< short > ( double v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
short cv::saturate_cast< short > ( float v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
short cv::saturate_cast< short > ( int v)
内联

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

template<>
short cv::saturate_cast< short > ( int64 v)
内联

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

template<>
short cv::saturate_cast< short > ( uint64 v)
内联

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

template<>
short cv::saturate_cast< short > ( unsigned v)
内联

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

template<>
short cv::saturate_cast< short > ( ushort v)
内联

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

template<>
uchar cv::saturate_cast< uchar > ( double v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
uchar cv::saturate_cast< uchar > ( float v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
uchar cv::saturate_cast< uchar > ( int v)
内联

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

template<>
uchar cv::saturate_cast< uchar > ( int64 v)
内联

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

template<>
uchar cv::saturate_cast< uchar > ( schar v)
内联

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

template<>
uchar cv::saturate_cast< uchar > ( short v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
uchar cv::saturate_cast< uchar > ( uint64 v)
内联

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

template<>
uchar cv::saturate_cast< uchar > ( unsigned v)
内联

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

template<>
uchar cv::saturate_cast< uchar > ( ushort v)
内联

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

template<>
uint64 cv::saturate_cast< uint64 > ( int v)
内联

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

template<>
uint64 cv::saturate_cast< uint64 > ( int64 v)
内联

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

template<>
uint64 cv::saturate_cast< uint64 > ( schar v)
内联

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

template<>
uint64 cv::saturate_cast< uint64 > ( short v)
内联

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

template<>
unsigned cv::saturate_cast< unsigned > ( double v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
unsigned cv::saturate_cast< unsigned > ( float v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
unsigned cv::saturate_cast< unsigned > ( int v)
内联

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

template<>
unsigned cv::saturate_cast< unsigned > ( int64 v)
内联

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

template<>
unsigned cv::saturate_cast< unsigned > ( schar v)
内联

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

template<>
unsigned cv::saturate_cast< unsigned > ( short v)
内联

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

template<>
unsigned cv::saturate_cast< unsigned > ( uint64 v)
内联

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

template<>
ushort cv::saturate_cast< ushort > ( double v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
ushort cv::saturate_cast< ushort > ( float v)
内联

#include <opencv2/core/saturate.hpp>

此函数的调用图

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

template<>
ushort cv::saturate_cast< ushort > ( int v)
内联

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

template<>
ushort cv::saturate_cast< ushort > ( int64 v)
内联

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

template<>
ushort cv::saturate_cast< ushort > ( schar v)
内联

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

template<>
ushort cv::saturate_cast< ushort > ( short v)
内联

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

template<>
ushort cv::saturate_cast< ushort > ( uint64 v)
内联

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

template<>
ushort cv::saturate_cast< ushort > ( unsigned v)
内联

◆ setBreakOnError()

bool cv::setBreakOnError ( bool 标志)

#include <opencv2/core/utility.hpp>

设置/重置出错时中断模式。

当设置了 break-on-error 模式时,默认的错误处理程序会发出硬件异常,这可以使调试更加方便。

返回
上一个状态
示例
samples/cpp/stitching_detailed.cpp.

◆ setNumThreads()

void cv::setNumThreads ( int nthreads)
Python
cv.setNumThreads(nthreads) -> None

#include <opencv2/core/utility.hpp>

OpenCV 将尝试为随后的并行区域设置线程数。

如果 threads == 1,OpenCV 将禁用多线程优化并按顺序运行其所有函数。传递 threads < 0 将把线程数重置为系统默认值。该函数不是线程安全的,不得在并行区域或并发线程中调用。

OpenCV 将尝试使用指定的线程数运行其函数,但不同框架的行为有所不同:

  • TBB - 如果未指定其他值,用户定义的并行结构将使用相同的线程数运行。如果稍后用户创建了自己的调度程序,OpenCV 将使用它。
  • OpenMP - 没有特殊的定义行为。
  • Concurrency - 如果 threads == 1,OpenCV 将禁用多线程优化并按顺序运行其函数。
  • GCD - 仅支持 <= 0 的值。
  • C= - 没有特殊的定义行为。
    参数
    nthreadsOpenCV 使用的线程数。
    另请参阅
    getNumThreads, getThreadNum

◆ setUseOptimized()

void cv::setUseOptimized ( bool onoff)
Python
cv.setUseOptimized(onoff) -> None

#include <opencv2/core/utility.hpp>

启用或禁用优化代码。

该函数可用于动态开启和关闭优化的调度代码(在支持的平台上使用 SSE4.2、AVX/AVX2 和其他指令的代码)。它设置一个全局标志,供 OpenCV 函数进一步检查。由于该标志不在 OpenCV 内部循环中检查,因此仅在应用程序的最顶层调用该函数是安全的,因为在那里你可以确保没有其他 OpenCV 函数正在执行。

默认情况下,除非你在 CMake 中禁用它,否则优化代码是启用的。可以使用 useOptimized 获取当前状态。

参数
onoff布尔标志,指定是否应使用优化代码(onoff=true)或不使用(onoff=false)。

◆ tempfile()

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

#include <opencv2/core/utility.hpp>

生成唯一的临时文件名。

该函数为临时文件生成一个完整的、唯一的路径,可用于为各种目的创建临时文件。

参数
suffix(可选)临时文件所需的扩展名或后缀(例如 ".png"、".txt")。如果未提供后缀(suffix = 0),则文件不会有特定扩展名。
返回
cv::String 临时文件的完整唯一路径。
注意
  • 该函数不创建文件,只生成名称。
  • 文件名对于系统会话是唯一的。
  • 跨平台工作(Windows、Linux、macOS)。

◆ terminate()

void cv::terminate ( int code,
const String & err,
const char * func,
const char * file,
int line )

#include <opencv2/core/base.hpp>

发出错误信号并终止应用程序。

默认情况下,该函数将错误信息打印到 stderr,然后使用 std::terminate 终止应用程序。该函数设计用于在具有 noexcept 属性的函数和方法中进行不变性检查。

参数
code- 错误代码 (Error::Code)
err- 错误描述
func- 函数名称。仅在编译器支持获取时可用
file- 发生错误的源文件名
line- 发生错误在源文件中的行号
另请参阅
CV_AssertTerminate

◆ useOptimized()

bool cv::useOptimized ( )
Python
cv.useOptimized() -> retval

#include <opencv2/core/utility.hpp>

返回优化代码的使用状态。

如果启用了优化代码,该函数返回 true。否则,返回 false。