OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
实用程序和系统函数及宏

主题

 日志记录功能
 
 SSE 实用程序
 
 NEON 实用程序
 
 VSX 实用程序
 
 Softfloat 支持
 
 用于 OpenCV 示例的实用程序函数
 
 

详细描述

命名空间

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

类 cv::Allocator< _Tp >
 
类 cv::AutoBuffer< _Tp, fixed_size >
 自动分配缓冲区类。 更多…
 
类 cv::utils::BufferArea
 管理由多个缓冲区共享的内存块。 更多…
 
类 cv::CommandLineParser
 用于命令行解析。 更多…
 
联合体 Cv16suf
 
联合体 Cv32suf
 
联合体 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_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
 

类型定义

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_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)
 确定参数是否为无穷大。
 
int cvIsInf (float value)
 
int cvIsNaN (double value)
 确定参数是否为非数字。
 
int cvIsNaN (float value)
 
int cvRound (double value)
 将浮点数四舍五入到最近的整数。
 
int cvRound (float value)
 
int cvRound (int value)
 
静态 int cv::divUp (int a, unsigned int b)
 向上取整的整数除法。
 
static size_t cv::divUp (size_t a, unsigned int b)
 
静态 String cv::utils::dumpBool (bool argument)
 
静态 String cv::utils::dumpCString (const char *argument)
 
静态 String cv::utils::dumpDouble (double argument)
 
静态 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)
 
静态 String cv::utils::dumpInt (int argument)
 
静态 String cv::utils::dumpInt64 (int64 argument)
 
静态 String cv::utils::dumpRange (const Range &argument)
 
静态 String cv::utils::dumpRect (const Rect &argument)
 
静态 String cv::utils::dumpRotatedRect (const RotatedRect &argument)
 
静态 String cv::utils::dumpSizeT (size_t argument)
 
静态 String cv::utils::dumpString (const String &argument)
 
静态 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)
 计算二维向量的角度(以度为单位)。
 
void cv::fastFree (void *ptr)
 释放内存缓冲区。
 
void * cv::fastMalloc (size_t bufSize)
 分配对齐的内存缓冲区。
 
模板<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)
 搜索目录中与指定模式匹配的文件。
 
模板<int N, typename T >
静态 bool cv::isAligned (const T &data)
 对传递的值进行对齐检查。
 
模板<int N>
静态 bool cv::isAligned (const void *p1)
 
模板<int N>
静态 bool cv::isAligned (const void *p1, const void *p2)
 
模板<int N>
静态 bool cv::isAligned (const void *p1, const void *p2, const void *p3)
 
模板<int N>
静态 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)
 
模板<typename _Tp , typename _AccTp >
静态 _AccTp cv::normInf (const _Tp *a, const _Tp *b, int n)
 
模板<typename _Tp , typename _AccTp >
静态 _AccTp cv::normInf (const _Tp *a, int n)
 
模板<typename _Tp , typename _AccTp >
静态 _AccTp cv::normL1 (const _Tp *a, const _Tp *b, int n)
 
模板<typename _Tp , typename _AccTp >
静态 _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)
 
模板<typename _Tp , typename _AccTp >
静态 _AccTp cv::normL2Sqr (const _Tp *a, const _Tp *b, int n)
 
模板<typename _Tp , typename _AccTp >
静态 _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)
 设置新的错误处理程序和可选的用户数据。
 
静态 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<>
无符号整型 cv::saturate_cast< unsigned > (double v)
 
template<>
无符号整型 cv::saturate_cast< unsigned > (float v)
 
template<>
无符号整型 cv::saturate_cast< unsigned > (int v)
 
template<>
无符号整型 cv::saturate_cast< unsigned > (int64 v)
 
template<>
无符号整型 cv::saturate_cast< unsigned > (schar v)
 
template<>
无符号整型 cv::saturate_cast< unsigned > (short v)
 
template<>
无符号整型 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 ( 表达式)

#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 在调试和发布配置中都检查条件,而 CV_DbgAssert 仅保留在调试配置中。CV_AssertTerminate 是具有 noexcept 属性的函数中不变式检查的 CV_Assert 的类似物。它不会抛出异常,而是终止应用程序。

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

◆ CV_AssertTerminate

#define CV_AssertTerminate ( 表达式)

#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_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 ( 表达式)

#include <opencv2/core/base.hpp>

在调试配置中已替换为 CV_Assert(expr)

◆ 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:509
#define CV_MAT_CN(flags)
**定义** cvdef.h:496

◆ 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。在调试配置中,它随后会引发内存访问冲突,以便调试器可以分析执行堆栈和所有参数。在发布配置中,会抛出异常。

参数
codeError::Code 之一
msg错误消息
示例
samples/cpp/grabcut.cppsamples/cpp/pca.cppsamples/cpp/tutorial_code/features2D/Homography/decompose_homography.cppsamples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cppsamples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cppsamples/dnn/classification.cppsamples/dnn/object_detection.cppsamples/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,
("the value at (%d, %d)=%g is out of range", badPt.x, badPt.y, badValue));
#define CV_Error_(code, args)
调用错误处理程序。
定义 base.hpp:349
参数
codeError::Code 之一
args类似 printf 的格式化错误消息(在括号中)

◆ CV_EXPORTS_AS

#define CV_EXPORTS_AS ( 同义词)

#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:500

◆ 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:495

◆ 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:497

◆ 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:525

◆ 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 ( 同义词)

◆ 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

类型定义文档

◆ 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

枚举类型文档

◆ AlgorithmHint

#include <opencv2/core/utility.hpp>

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

枚举值
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特性。

枚举值
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_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

枚举 cv::SortFlags

#include <opencv2/core.hpp>

枚举值
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

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

函数文档

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

◆ cv_abs() [2/5]

int cv::cv_abs ( schar x)
inline

◆ cv_abs() [3/5]

int cv::cv_abs ( short x)
inline

◆ cv_abs() [4/5]

int cv::cv_abs ( uchar x)
inline

◆ cv_abs() [5/5]

int cv::cv_abs ( ushort x)
inline

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

确定参数是否为无穷大。

参数
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>

确定参数是否为非数字。

参数
value输入浮点值

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

◆ cvIsNaN() [2/2]

int cvIsNaN ( float value)

#include <opencv2/core/fast_math.hpp>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅仅在于它接受的参数。

◆ cvRound() [1/3]

◆ 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(参数) -> retval, 参数

◆ dumpInputOutputArrayOfArrays()

String cv::utils::dumpInputOutputArrayOfArrays ( InputOutputArrayOfArrays 参数)
Python
cv.utils.dumpInputOutputArrayOfArrays(参数) -> retval, 参数

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

◆ fastAtan2()

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

#include <opencv2/core/base.hpp>

计算二维向量的角度(以度为单位)。

函数 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()

模板<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 将尝试用于并行区域的线程数。如果用户代码中存在任何与 OpenCV 冲突的 tbb::thread_scheduler_init,则函数返回 TBB 库使用的默认线程数。
  • OpenMP - 可用于形成新团队的线程数的上限。
  • Concurrency - OpenCV 将尝试用于并行区域的线程数。
  • GCD - 不支持;为了兼容性,返回 GCD 线程池限制 (512)。
  • C= - 如果之前使用 threads > 0 调用 setNumThreads,则 OpenCV 将尝试用于并行区域的线程数,否则返回进程可用的逻辑 CPU 数。
    参见
    setNumThreadsgetThreadNum

◆ 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= - 当前并行任务的索引。
    参见
    setNumThreadsgetNumThreads

◆ getTickCount()

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

#include <opencv2/core/utility.hpp>

返回滴答数。

该函数返回某个事件(例如,机器启动时)后的滴答次数。它可以用来初始化 RNG 或通过在函数调用之前和之后读取滴答计数来测量函数执行时间。

参见
getTickFrequencyTickMeter

◆ 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()
返回滴答数。
参见
getTickCountTickMeter

◆ 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(可选) 布尔标志,指示是否递归搜索子目录。如果为真,则搜索将包括所有子目录。默认值为false

◆ isAligned() [1/5]

模板<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]

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

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅仅在于它接受的参数。

以下是此函数的调用图

◆ isAligned() [3/5]

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

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅仅在于它接受的参数。

以下是此函数的调用图

◆ isAligned() [4/5]

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

#include <opencv2/core/utility.hpp>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅仅在于它接受的参数。

以下是此函数的调用图

◆ isAligned() [5/5]

模板<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]

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

◆ normInf() [2/2]

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

#include <opencv2/core/base.hpp>

以下是此函数的调用图

◆ normL1() [1/4]

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

◆ normL1() [2/4]

模板<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 )
inline

◆ normL1() [4/4]

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

◆ normL2Sqr() [1/3]

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

◆ normL2Sqr() [2/3]

模板<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)
无符号字符型 uchar
定义 interface.h:51
uchar saturate_cast< uchar >(schar v)
定义 saturate.hpp:101
short saturate_cast< short >(ushort v)
定义 saturate.hpp:130

当目标类型为无符号字符型、有符号字符型、无符号短整型或有符号短整型时,会进行这种裁剪。对于 32 位整数,不进行裁剪。

当参数是浮点值且目标类型是整数(8 位、16 位或 32 位)时,浮点值首先四舍五入到最接近的整数,然后根据需要进行裁剪(当目标类型是 8 位或 16 位时)。

参数
v函数参数。
参见
addsubtractmultiplydivideMat::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)
inline

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

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

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

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

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

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

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

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

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

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

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

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

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

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

template<>
hfloat cv::saturate_cast< hfloat > ( 无符号型 unsigned v)
inline

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

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

◆ saturate_cast< int64 >()

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

◆ 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 > ( int64 v)
inline

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

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

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

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

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

template<>
schar cv::saturate_cast< schar > ( 无符号型 unsigned v)
inline

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

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

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

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

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

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

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

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

template<>
short cv::saturate_cast< short > ( 无符号长整型 uint64 v)
inline

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

template<>
short cv::saturate_cast< short > ( 无符号型 unsigned v)
inline

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

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

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

◆ 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 > ( int64 v)
inline

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

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

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

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

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

template<>
uchar cv::saturate_cast< uchar > ( 无符号型 unsigned v)
inline

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

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

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

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

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

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

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

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

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

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

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

◆ 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 > ( schar v)
inline

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

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

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

template<>
unsigned cv::saturate_cast< unsigned > ( 无符号长整型 uint64 v)
inline

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

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

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

#include <opencv2/core/saturate.hpp>

以下是此函数的调用图

◆ 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 > ( int64 v)
inline

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

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

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

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

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

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

template<>
ushort cv::saturate_cast< ushort > ( 无符号型 unsigned v)
inline

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

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

#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。