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。