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

主题

 日志功能
 
 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
 管理多个缓冲区共享的内存块。更多...
 
类  bool empty() const
 专为命令行解析设计。更多...
 
联合体  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   /* nothing by default */
 
#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
 

枚举

枚举  cv::AlgorithmHint {
  cv::ALGO_HINT_DEFAULT = 0 ,
  cv::ALGO_HINT_ACCURATE = 1 ,
  cv::ALGO_HINT_APPROX = 2
}
 允许修改某些函数行为的标志。用作一组标志。更多...
 
枚举  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特性。更多...
 
枚举  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)
 
cv::determinant (const Matx< _Tp, m, m > &a)cv::cubeRoot (double val)
 
float cv::cubeRoot (float val)
 Computes the cube root of an argument.
 
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)
 
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-like表达式格式化的文本字符串。
 
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 定义 ximgproc.hpp:149 ()
 返回时钟周期数。
 
double CV_EXPORTS_W Mat imread(const String &filename, int flags=IMREAD_COLOR_BGR) ()
 返回每秒的时钟周期数。
 
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 在调试和发布配置中都会检查条件,而 CV_DbgAssert 仅在调试配置中保留。CV_AssertTerminate 是 CV_Assert 的类似物,用于检查带有 noexcept 属性的函数中的不变式。它不会抛出异常,而是终止应用程序。

示例
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 ( 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_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: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-like表达式格式化的文本字符串。

调用错误处理程序。

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

// 注意格式化文本消息周围的额外括号
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: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)))

无跳转的min和max

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

类型定义文档

◆ 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_NEON_BF16 
CPU_MSA 
CPU_RISCVV 
CPU_VSX 
CPU_VSX3 
CPU_RVV 
CPU_LSX 
CPU_LASX 
CPU_AVX512_SKX 

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

CPU_AVX512_COMMON 

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

CPU_AVX512_KNL 

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

CPU_AVX512_KNM 

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

CPU_AVX512_CNL 

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

CPU_AVX512_CLX 

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

CPU_AVX512_ICL 

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

CPU_MAX_FEATURE 

◆ 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 ( 包装自定义类型的辅助函数。 * 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)时,除非调用setUseOptimized(true),否则后续对checkHardwareSupport()的调用将返回false。这样用户就可以动态地打开和关闭OpenCV中的优化代码。

参数
feature感兴趣的功能,cv::CpuFeatures之一

◆ Cholesky() [1/2]

bool cv::Cholesky ( 如果传入NULL,则假定尺度参数c为1.0。否则,指向的变量将被设置为最优尺度。 A,
size_t astep,
int m,
如果传入NULL,则假定尺度参数c为1.0。否则,指向的变量将被设置为最优尺度。 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>

Computes the cube root of an argument.

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

参数
val函数参数。

◆ cv_abs() [1/5]

template<typename _Tp >
_Tp cv::cv_abs ( 包装自定义类型的辅助函数。 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 ( I.at<uchar>(y, x) = saturate_cast<uchar>(r); 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 )

#include <opencv2/core/fast_math.hpp>

将浮点数四舍五入到不小于原始值的最近整数。

该函数计算一个整数 i,使得

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

参数
浮点数。如果值在INT_MIN ... INT_MAX范围之外,则结果未定义。

◆ cvCeil() [2/3]

int cvCeil ( float )

#include <opencv2/core/fast_math.hpp>

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

◆ cvCeil() [3/3]

int cvCeil ( int )

#include <opencv2/core/fast_math.hpp>

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

◆ cvFloor() [1/3]

int cvFloor ( double )

#include <opencv2/core/fast_math.hpp>

将浮点数四舍五入到不大于原始值的最近整数。

该函数计算一个整数 i,使得

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

参数
浮点数。如果值在INT_MIN ... INT_MAX范围之外,则结果未定义。

◆ cvFloor() [2/3]

int cvFloor ( float )

#include <opencv2/core/fast_math.hpp>

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

◆ cvFloor() [3/3]

int cvFloor ( int )

#include <opencv2/core/fast_math.hpp>

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

◆ cvIsInf() [1/2]

int cvIsInf ( double )

#include <opencv2/core/fast_math.hpp>

确定参数是否为无穷大。

参数
输入的浮点值

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

◆ cvIsInf() [2/2]

int cvIsInf ( float )

#include <opencv2/core/fast_math.hpp>

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

◆ cvIsNaN() [1/2]

int cvIsNaN ( double )

#include <opencv2/core/fast_math.hpp>

确定参数是否为非数字。

参数
输入的浮点值

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

◆ cvIsNaN() [2/2]

int cvIsNaN ( float )

#include <opencv2/core/fast_math.hpp>

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

◆ cvRound() [1/3]

◆ cvRound() [2/3]

int cvRound ( float )

#include <opencv2/core/fast_math.hpp>

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

◆ cvRound() [3/3]

int cvRound ( int )

#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计算输入2D向量的全范围角度。角度以度为单位,范围从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 & 操作)
inlineprotected

#include <opencv2/core/mat.hpp>

idx在此->rowCall中被修改

此函数的调用图如下

◆ format()

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

#include <opencv2/core/operations.hpp>

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

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

参数
fmtprintf兼容的格式说明符。

注意**

Type说明符
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当前的tick数。在其他平台上,该函数等同于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时threads > 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>

返回时钟周期数。

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

另请参见
getTickFrequency, TickMeter

◆ getTickFrequency()

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

#include <opencv2/core/utility.hpp>

返回每秒的时钟周期数。

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

double t = (double)getTickCount();
// 执行某些操作 ...
t = ((double)getTickCount() - t)/getTickFrequency();
ximgproc.hpp
返回时钟周期数。
另请参见
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 ( 如果传入NULL,则假定尺度参数c为1.0。否则,指向的变量将被设置为最优尺度。 A,
size_t astep,
int m,
如果传入NULL,则假定尺度参数c为1.0。否则,指向的变量将被设置为最优尺度。 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 )
inline

◆ normL1() [4/4]

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

◆ normL2Sqr() [1/3]

template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr ( const _Tp * a,
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 & 输出3D仿射变换矩阵,尺寸为\(3 \times 4\),形式如下,
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,则使用默认错误处理程序。
用户数据可选的用户数据指针,传递给回调函数。
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 ( I.at<uchar>(y, x) = saturate_cast<uchar>(r); 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)
I.at<uchar>(y, x) = saturate_cast<uchar>(r);
uchar
unsigned char uchar
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函数参数。
另请参见
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)
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 > ( I.at<uchar>(y, x) = saturate_cast<uchar>(r); v)
inline

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

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

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

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

◆ 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 > ( I.at<uchar>(y, x) = saturate_cast<uchar>(r); v)
inline

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

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

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

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

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

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

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

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

◆ setBreakOnError()

bool cv::setBreakOnError ( bool flag)

#include <opencv2/core/utility.hpp>

设置/重置错误中断模式。

当设置错误时中断模式时,默认错误处理程序会发出硬件异常,这可以使调试更方便。

返回
之前的状态
示例
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。