OpenCV 4.5.3(日本語機械翻訳)
モジュール | クラス | マクロ定義 | 型定義 | 列挙型 | 関数
Utility and system functions and macros

モジュール

Logging facilities
SSE utilities
NEON utilities
VSX utilities
Softfloat support
Utility functions for OpenCV samples

クラス

class cv::Exception
エラーに渡されるクラス.[【詳解】(英語]
struct cv::Hamming
union Cv16suf
union Cv32suf
union Cv64suf
class cv::Allocator< _Tp >
class cv::AutoBuffer< _Tp, fixed_size >
自動的に割り当てられるバッファクラス[【詳解】(英語]
class cv::TickMeter
a Class to measure passing time.[【詳解】(英語]
class cv::ParallelLoopBody
並列データ処理装置の基本クラス[【詳解】(英語]
class cv::ParallelLoopBodyLambdaWrapper
class cv::CommandLineParser
コマンドライン解析のためのデザイン[【詳解】(英語]
class cv::TLSDataContainer
class cv::TLSData< T >
シンプルなTLSデータクラス[【詳解】(英語]
class cv::TLSDataAccumulator< T >
メソッドを収集する TLS データアキュムレータ.[【詳解】(英語]

マクロ定義

#define CV_Error(code, msg)cv::error( code, msg, CV_Func, __FILE__, __LINE__ )
エラーハンドラを呼び出します。[【詳解】(英語]
#define CV_Error_(code, args)cv::error( code, cv::format args, CV_Func, __FILE__, __LINE__ )
エラーハンドラを呼び出します。[【詳解】(英語]
#define CV_Assert(expr)   do { if(!!(expr)) ; else cv::error( cv::Error::StsAssert, #expr, CV_Func, __FILE__, __LINE__ ); } while(0)
実行時に条件をチェックし,失敗した場合は例外を投げます.[【詳解】(英語]
#define CV_DbgAssert(expr)
#define CV__DEBUG_NS_BEGIN
#define CV__DEBUG_NS_END
#define __CV_EXPAND(x)   x
#define __CV_CAT__(x, y)   x ## y
#define __CV_CAT_(x, y)   __CV_CAT__(x, y)
#define __CV_CAT(x, y)   __CV_CAT_(x, y)
#define __CV_VA_NUM_ARGS_HELPER(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...)   N
#define __CV_VA_NUM_ARGS(...)   __CV_EXPAND(__CV_VA_NUM_ARGS_HELPER(__VA_ARGS__, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0))
#define CV_Func   "<unknown>"
#define CV_INLINE   static
#define CV_ALWAYS_INLINE   inline
#define CV_ENABLE_UNROLLED   1
#define CV_DECL_ALIGNED(x)
#define CV_CPU_NONE   0
#define CV_CPU_MMX   1
#define CV_CPU_SSE   2
#define CV_CPU_SSE2   3
#define CV_CPU_SSE3   4
#define CV_CPU_SSSE3   5
#define CV_CPU_SSE4_1   6
#define CV_CPU_SSE4_2   7
#define CV_CPU_POPCNT   8
#define CV_CPU_FP16   9
#define CV_CPU_AVX   10
#define CV_CPU_AVX2   11
#define CV_CPU_FMA3   12
#define CV_CPU_AVX_512F   13
#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_512IFMA512   18
#define CV_CPU_AVX_512IFMA   18
#define CV_CPU_AVX_512PF   19
#define CV_CPU_AVX_512VBMI   20
#define CV_CPU_AVX_512VL   21
#define CV_CPU_AVX_512VBMI2   22
#define CV_CPU_AVX_512VNNI   23
#define CV_CPU_AVX_512BITALG   24
#define CV_CPU_AVX_512VPOPCNTDQ   25
#define CV_CPU_AVX_5124VNNIW   26
#define CV_CPU_AVX_5124FMAPS   27
#define CV_CPU_NEON   100
#define CV_CPU_MSA   150
#define CV_CPU_RISCVV   170
#define CV_CPU_VSX   200
#define CV_CPU_VSX3   201
#define CV_CPU_RVV   210
#define CV_CPU_AVX512_SKX   256
#define CV_CPU_AVX512_COMMON   257
#define CV_CPU_AVX512_KNL   258
#define CV_CPU_AVX512_KNM   259
#define CV_CPU_AVX512_CNL   260
#define CV_CPU_AVX512_CLX   261
#define CV_CPU_AVX512_ICL   262
#define CV_HARDWARE_MAX_FEATURE   512
#define CV_STRONG_ALIGNMENT   0
#define CV_PI   3.1415926535897932384626433832795
#define CV_2PI   6.283185307179586476925286766559
#define CV_LOG2   0.69314718055994530941723212145818
#define CV_FP16_TYPE   0
#define OPENCV_ABI_COMPATIBILITY   400
#define CV_EXPORTS
#define CV_EXPORTS_TEMPLATE   CV_EXPORTS
#define CV_DEPRECATED
#define CV_DEPRECATED_EXTERNAL   CV_DEPRECATED
#define CV_EXTERN_C
#define CV_EXPORTS_W   CV_EXPORTS
#define CV_EXPORTS_W_SIMPLE   CV_EXPORTS
#define CV_EXPORTS_AS(synonym)   CV_EXPORTS
#define CV_EXPORTS_W_MAP   CV_EXPORTS
#define CV_IN_OUT
#define CV_OUT
#define CV_PROP
#define CV_PROP_RW
#define CV_WRAP
#define CV_WRAP_AS(synonym)
#define CV_WRAP_MAPPABLE(mappable)
#define CV_WRAP_PHANTOM(phantom_header)
#define CV_WRAP_DEFAULT(val)
#define CV_MAT_CN_MASK   ((CV_CN_MAX - 1) << CV_CN_SHIFT)
#define CV_MAT_CN(flags)   ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
#define CV_MAT_TYPE_MASK   (CV_DEPTH_MAX*CV_CN_MAX - 1)
#define CV_MAT_TYPE(flags)   ((flags) & CV_MAT_TYPE_MASK)
#define CV_MAT_CONT_FLAG_SHIFT   14
#define CV_MAT_CONT_FLAG   (1 << CV_MAT_CONT_FLAG_SHIFT)
#define CV_IS_MAT_CONT(flags)   ((flags) & CV_MAT_CONT_FLAG)
#define CV_IS_CONT_MAT   CV_IS_MAT_CONT
#define CV_SUBMAT_FLAG_SHIFT   15
#define CV_SUBMAT_FLAG   (1 << CV_SUBMAT_FLAG_SHIFT)
#define CV_IS_SUBMAT(flags)   ((flags) & CV_MAT_SUBMAT_FLAG)
#define CV_ELEM_SIZE1(type)   ((0x28442211 >> CV_MAT_DEPTH(type)*4) & 15)
#define CV_ELEM_SIZE(type)   (CV_MAT_CN(type)*CV_ELEM_SIZE1(type))
#define MIN(a, b)   ((a) > (b) ? (b) : (a))
#define MAX(a, b)   ((a) < (b) ? (b) : (a))
#define __CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST)   static const EnumType MEMBER_CONST = EnumType::MEMBER_CONST; \
#define __CV_ENUM_CLASS_EXPOSE_2(EnumType, MEMBER_CONST, ...)
#define __CV_ENUM_CLASS_EXPOSE_3(EnumType, MEMBER_CONST, ...)
#define __CV_ENUM_CLASS_EXPOSE_4(EnumType, MEMBER_CONST, ...)
#define __CV_ENUM_CLASS_EXPOSE_5(EnumType, MEMBER_CONST, ...)
#define __CV_ENUM_CLASS_EXPOSE_6(EnumType, MEMBER_CONST, ...)
#define __CV_ENUM_CLASS_EXPOSE_7(EnumType, MEMBER_CONST, ...)
#define __CV_ENUM_CLASS_EXPOSE_8(EnumType, MEMBER_CONST, ...)
#define __CV_ENUM_CLASS_EXPOSE_9(EnumType, MEMBER_CONST, ...)
#define __CV_ENUM_FLAGS_LOGICAL_NOT(EnumType)
#define __CV_ENUM_FLAGS_LOGICAL_NOT_EQ(Arg1Type, Arg2Type)
#define __CV_ENUM_FLAGS_LOGICAL_EQ(Arg1Type, Arg2Type)
#define __CV_ENUM_FLAGS_BITWISE_NOT(EnumType)
#define __CV_ENUM_FLAGS_BITWISE_OR(EnumType, Arg1Type, Arg2Type)
#define __CV_ENUM_FLAGS_BITWISE_AND(EnumType, Arg1Type, Arg2Type)
#define __CV_ENUM_FLAGS_BITWISE_XOR(EnumType, Arg1Type, Arg2Type)
#define __CV_ENUM_FLAGS_BITWISE_OR_EQ(EnumType, Arg1Type)
#define __CV_ENUM_FLAGS_BITWISE_AND_EQ(EnumType, Arg1Type)
#define __CV_ENUM_FLAGS_BITWISE_XOR_EQ(EnumType, Arg1Type)
#define CV_ENUM_CLASS_EXPOSE(EnumType, ...)   __CV_EXPAND(__CV_CAT(__CV_ENUM_CLASS_EXPOSE_, __CV_VA_NUM_ARGS(__VA_ARGS__))(EnumType, __VA_ARGS__)); \
#define CV_ENUM_FLAGS(EnumType)
#define CV_NORETURN   /* nothing by default */
#define CV_NODISCARD   /* nothing by default */
#define CV_CXX_MOVE_SEMANTICS   1
#define CV_CXX_MOVE(x)   std::move(x)
#define CV_CXX_STD_ARRAY   1
#define CV_OVERRIDE   override
#define CV_FINAL   final
#define CV_NOEXCEPT
#define CV_CONSTEXPR

型定義

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

列挙型

enum cv::SortFlags { cv::SORT_EVERY_ROW = 0 , cv::SORT_EVERY_COLUMN = 1 , cv::SORT_ASCENDING = 0 , cv::SORT_DESCENDING = 16 }
enum CpuFeatures {
CPU_MMX = 1 , CPU_SSE = 2 , CPU_SSE2 = 3 , CPU_SSE3 = 4 ,
CPU_SSSE3 = 5 , CPU_SSE4_1 = 6 , CPU_SSE4_2 = 7 , CPU_POPCNT = 8 ,
CPU_FP16 = 9 , CPU_AVX = 10 , CPU_AVX2 = 11 , CPU_FMA3 = 12 ,
CPU_AVX_512F = 13 , CPU_AVX_512BW = 14 , CPU_AVX_512CD = 15 , CPU_AVX_512DQ = 16 ,
CPU_AVX_512ER = 17 , CPU_AVX_512IFMA512 = 18 , CPU_AVX_512IFMA = 18 , CPU_AVX_512PF = 19 ,
CPU_AVX_512VBMI = 20 , CPU_AVX_512VL = 21 , CPU_AVX_512VBMI2 = 22 , CPU_AVX_512VNNI = 23 ,
CPU_AVX_512BITALG = 24 , CPU_AVX_512VPOPCNTDQ = 25 , CPU_AVX_5124VNNIW = 26 , CPU_AVX_5124FMAPS = 27 ,
CPU_NEON = 100 , CPU_MSA = 150 , CPU_RISCVV = 170 , CPU_VSX = 200 ,
CPU_VSX3 = 201 , CPU_RVV = 210 , 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_EXPORTS CV_NORETURN void cv::error (const Exception &exc)
エラーが発生した場合は、例外を発生させます。[【詳解】(英語]
CV_EXPORTS CV_NORETURN void cv::error (int _code, const String &_err, const char *_func, const char *_file, int _line)
エラーが発生した場合は、例外を発生させます。[【詳解】(英語]
template<typename _Tp >
_Tp cv::cv_abs (_Tp x)
int cv::cv_abs (uchar x)
int cv::cv_abs (schar x)
int cv::cv_abs (ushort x)
int cv::cv_abs (short x)
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr (const _Tp *a, int n)
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL1 (const _Tp *a, int n)
template<typename _Tp , typename _AccTp >
static _AccTp cv::normInf (const _Tp *a, int n)
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL2Sqr (const _Tp *a, const _Tp *b, int n)
static float cv::normL2Sqr (const float *a, const float *b, int n)
template<typename _Tp , typename _AccTp >
static _AccTp cv::normL1 (const _Tp *a, const _Tp *b, int n)
float cv::normL1 (const float *a, const float *b, int n)
int cv::normL1 (const uchar *a, const uchar *b, int n)
template<typename _Tp , typename _AccTp >
static _AccTp cv::normInf (const _Tp *a, const _Tp *b, int n)
CV_EXPORTS_W float cv::cubeRoot (float val)
引数の立方根を計算します.[【詳解】(英語]
static double cv::cubeRoot (double val)
CV_EXPORTS_W float cv::fastAtan2 (float y, float x)
2Dベクトルの角度を度単位で計算します。[【詳解】(英語]
CV_EXPORTS int cv::LU (float *A, size_t astep, int m, float *b, size_t bstep, int n)
CV_EXPORTS int cv::LU (double *A, size_t astep, int m, double *b, size_t bstep, int n)
CV_EXPORTS bool cv::Cholesky (float *A, size_t astep, int m, float *b, size_t bstep, int n)
CV_EXPORTS bool cv::Cholesky (double *A, size_t astep, int m, double *b, size_t bstep, int n)
CV_EXPORTS_W String cv::utils::dumpInputArray (InputArray argument)
CV_EXPORTS_W String cv::utils::dumpInputArrayOfArrays (InputArrayOfArrays argument)
CV_EXPORTS_W String cv::utils::dumpInputOutputArray (InputOutputArray argument)
CV_EXPORTS_W String cv::utils::dumpInputOutputArrayOfArrays (InputOutputArrayOfArrays argument)
static CV_WRAP String cv::utils::dumpBool (bool argument)
static CV_WRAP String cv::utils::dumpInt (int argument)
static CV_WRAP String cv::utils::dumpSizeT (size_t argument)
static CV_WRAP String cv::utils::dumpFloat (float argument)
static CV_WRAP String cv::utils::dumpDouble (double argument)
static CV_WRAP String cv::utils::dumpCString (const char *argument)
static CV_WRAP String cv::utils::dumpString (const String &argument)
static CV_WRAP String cv::utils::testOverloadResolution (int value, const Point &point=Point(42, 24))
static CV_WRAP String cv::utils::testOverloadResolution (const Rect &rect)
static CV_WRAP String cv::utils::dumpRect (const Rect &argument)
static CV_WRAP String cv::utils::dumpTermCriteria (const TermCriteria &argument)
static CV_WRAP String cv::utils::dumpRotatedRect (const RotatedRect &argument)
static CV_WRAP String cv::utils::dumpRange (const Range &argument)
static CV_WRAP void cv::utils::testRaiseGeneralException ()
static CV_WRAP AsyncArray cv::utils::testAsyncArray (InputArray argument)
static CV_WRAP AsyncArray cv::utils::testAsyncException ()
CV_EXPORTS void * cv::fastMalloc (size_t bufSize)
アラインドメモリバッファを確保します.[【詳解】(英語]
CV_EXPORTS void cv::fastFree (void *ptr)
メモリバッファを解放します。[【詳解】(英語]
CV_INLINE int cvRound (double value)
浮動小数点数を最も近い整数に丸める[【詳解】(英語]
CV_INLINE int cvFloor (double value)
浮動小数点数を元の値より大きくない最も近い整数に丸めます。[【詳解】(英語]
CV_INLINE int cvCeil (double value)
浮動小数点数を元の値よりも小さくない最も近い整数に丸めます。[【詳解】(英語]
CV_INLINE int cvIsNaN (double value)
引数が Not A Number であるかどうかを判定します。[【詳解】(英語]
CV_INLINE int cvIsInf (double value)
引数がInfinityであるかどうかを判定します。[【詳解】(英語]
template<typename _Tp >
static _Tp cv::saturate_cast (uchar v)
あるプリミティブ型から別のプリミティブ型への正確な変換のためのテンプレート関数。[【詳解】(英語]
template<typename _Tp >
static _Tp cv::saturate_cast (schar v)
template<typename _Tp >
static _Tp cv::saturate_cast (ushort v)
template<typename _Tp >
static _Tp cv::saturate_cast (short v)
template<typename _Tp >
static _Tp cv::saturate_cast (unsigned v)
template<typename _Tp >
static _Tp cv::saturate_cast (int v)
template<typename _Tp >
static _Tp cv::saturate_cast (float v)
template<typename _Tp >
static _Tp cv::saturate_cast (double v)
template<typename _Tp >
static _Tp cv::saturate_cast (int64 v)
template<typename _Tp >
static _Tp cv::saturate_cast (uint64 v)
template<>
uchar cv::saturate_cast< uchar > (schar v)
template<>
uchar cv::saturate_cast< uchar > (ushort v)
template<>
uchar cv::saturate_cast< uchar > (int v)
template<>
uchar cv::saturate_cast< uchar > (short v)
template<>
uchar cv::saturate_cast< uchar > (unsigned v)
template<>
uchar cv::saturate_cast< uchar > (float v)
template<>
uchar cv::saturate_cast< uchar > (double v)
template<>
uchar cv::saturate_cast< uchar > (int64 v)
template<>
uchar cv::saturate_cast< uchar > (uint64 v)
template<>
schar cv::saturate_cast< schar > (uchar v)
template<>
schar cv::saturate_cast< schar > (ushort v)
template<>
schar cv::saturate_cast< schar > (int v)
template<>
schar cv::saturate_cast< schar > (short v)
template<>
schar cv::saturate_cast< schar > (unsigned v)
template<>
schar cv::saturate_cast< schar > (float v)
template<>
schar cv::saturate_cast< schar > (double v)
template<>
schar cv::saturate_cast< schar > (int64 v)
template<>
schar cv::saturate_cast< schar > (uint64 v)
template<>
ushort cv::saturate_cast< ushort > (schar v)
template<>
ushort cv::saturate_cast< ushort > (short v)
template<>
ushort cv::saturate_cast< ushort > (int v)
template<>
ushort cv::saturate_cast< ushort > (unsigned v)
template<>
ushort cv::saturate_cast< ushort > (float v)
template<>
ushort cv::saturate_cast< ushort > (double v)
template<>
ushort cv::saturate_cast< ushort > (int64 v)
template<>
ushort cv::saturate_cast< ushort > (uint64 v)
template<>
short cv::saturate_cast< short > (ushort v)
template<>
short cv::saturate_cast< short > (int v)
template<>
short cv::saturate_cast< short > (unsigned v)
template<>
short cv::saturate_cast< short > (float v)
template<>
short cv::saturate_cast< short > (double v)
template<>
short cv::saturate_cast< short > (int64 v)
template<>
short cv::saturate_cast< short > (uint64 v)
template<>
int cv::saturate_cast< int > (unsigned v)
template<>
int cv::saturate_cast< int > (int64 v)
template<>
int cv::saturate_cast< int > (uint64 v)
template<>
int cv::saturate_cast< int > (float v)
template<>
int cv::saturate_cast< int > (double v)
template<>
unsigned cv::saturate_cast< unsigned > (schar v)
template<>
unsigned cv::saturate_cast< unsigned > (short v)
template<>
unsigned cv::saturate_cast< unsigned > (int v)
template<>
unsigned cv::saturate_cast< unsigned > (int64 v)
template<>
unsigned cv::saturate_cast< unsigned > (uint64 v)
template<>
unsigned cv::saturate_cast< unsigned > (float v)
template<>
unsigned cv::saturate_cast< unsigned > (double v)
template<>
uint64 cv::saturate_cast< uint64 > (schar v)
template<>
uint64 cv::saturate_cast< uint64 > (short v)
template<>
uint64 cv::saturate_cast< uint64 > (int v)
template<>
uint64 cv::saturate_cast< uint64 > (int64 v)
template<>
int64 cv::saturate_cast< int64 > (uint64 v)
template<typename _Tp >
static _Tp cv::saturate_cast (float16_t v)
template<>
float16_t cv::saturate_cast< float16_t > (uchar v)
template<>
float16_t cv::saturate_cast< float16_t > (schar v)
template<>
float16_t cv::saturate_cast< float16_t > (ushort v)
template<>
float16_t cv::saturate_cast< float16_t > (short v)
template<>
float16_t cv::saturate_cast< float16_t > (unsigned v)
template<>
float16_t cv::saturate_cast< float16_t > (int v)
template<>
float16_t cv::saturate_cast< float16_t > (uint64 v)
template<>
float16_t cv::saturate_cast< float16_t > (int64 v)
template<>
float16_t cv::saturate_cast< float16_t > (float v)
template<>
float16_t cv::saturate_cast< float16_t > (double v)
CV_EXPORTS bool cv::setBreakOnError (bool flag)
ブレークオンエラーモードを設定/リセットします。[【詳解】(英語]
CV_EXPORTS ErrorCallback cv::redirectError (ErrorCallback errCallback, void *userdata=0, void **prevUserdata=0)
新しいエラーハンドラーとオプションのユーザーデータを設定します。[【詳解】(英語]
CV_EXPORTS String cv::tempfile (const char *suffix=0)
CV_EXPORTS void cv::glob (String pattern, std::vector< String > &result, bool recursive=false)
CV_EXPORTS_W void cv::setNumThreads (int nthreads)
OpenCV は,次の並列領域のスレッド数の設定を試みます.[【詳解】(英語]
CV_EXPORTS_W int cv::getNumThreads ()
OpenCV が並列領域で使用するスレッドの数を返します.[【詳解】(英語]
CV_EXPORTS_W int cv::getThreadNum ()
現在の並列領域内で,現在実行されているスレッドのインデックスを返します.並列領域外で呼び出された場合は常に 0 を返します。[【詳解】(英語]
CV_EXPORTS_W const String & cv::getBuildInformation ()
完全な構成時間の cmake 出力を返します。[【詳解】(英語]
CV_EXPORTS_W String cv::getVersionString ()
ライブラリのバージョンを文字列で返す[【詳解】(英語]
CV_EXPORTS_W int cv::getVersionMajor ()
メジャーライブラリのバージョンを返します
CV_EXPORTS_W int cv::getVersionMinor ()
マイナーライブラリのバージョンを返します
CV_EXPORTS_W int cv::getVersionRevision ()
ライブラリのバージョンのリビジョンフィールドを返します
CV_EXPORTS_W int64 cv::getTickCount ()
ティックの数を返します。[【詳解】(英語]
CV_EXPORTS_W double cv::getTickFrequency ()
1 秒あたりの目盛り数を返します。[【詳解】(英語]
static std::ostream & cv::operator<< (std::ostream &out, const TickMeter &tm)
出力演算子[【詳解】(英語]
CV_EXPORTS_W int64 cv::getCPUTickCount ()
CPU tick数を返します。[【詳解】(英語]
CV_EXPORTS_W bool cv::checkHardwareSupport (int feature)
n : 整列させるバッファサイズ 指定された機能がホストハードウェアでサポートされていれば真を返します。[【詳解】(英語]
CV_EXPORTS_W String cv::getHardwareFeatureName (int feature)
IDによるフィーチャー名を返す[【詳解】(英語]
CV_EXPORTS_W std::string cv::getCPUFeaturesLine ()
CPU 機能一覧を返します コンパイル時に有効な CPU 機能の一覧を返します。[【詳解】(英語]
CV_EXPORTS_W int cv::getNumberOfCPUs ()
プロセスで使用可能な論理 CPU の数を返します
template<typename _Tp >
static _Tp * cv::alignPtr (_Tp *ptr, int n=(int) sizeof(_Tp))
ポインタを指定されたバイト数にアラインします.[【詳解】(英語]
static size_t cv::alignSize (size_t sz, int n)
バッファサイズを指定されたバイト数に揃えます。[【詳解】(英語]
static int cv::divUp (int a, unsigned int b)
整数の除算で、結果を切り上げます。[【詳解】(英語]
static size_t cv::divUp (size_t a, unsigned int b)
static int cv::roundUp (int a, unsigned int b)
1番目の値を2番目の値の最も近い倍数に丸めます。[【詳解】(英語]
static size_t cv::roundUp (size_t a, unsigned int b)
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)
CV_EXPORTS_W void cv::setUseOptimized (bool onoff)
最適化されたコードを有効または無効にします.[【詳解】(英語]
CV_EXPORTS_W bool cv::useOptimized ()
最適化されたコードの使用状況を返します。[【詳解】(英語]
static size_t cv::getElemSize (int type)
template<typename _Tp , typename Functor >
void cv::Mat::forEach_impl (const Functor &operation)

詳解

マクロ定義詳解

__CV_ENUM_CLASS_EXPOSE_1

#define __CV_ENUM_CLASS_EXPOSE_1 ( EnumType,
MEMBER_CONST
)    static const EnumType MEMBER_CONST = EnumType::MEMBER_CONST; \

従来の列挙型クラスと C++11 の列挙型クラスの両方に互換性演算子を提供し,後方互換性のために C++11 の列挙型クラスのメンバも公開します.

// Provides operators required for flag enums
CV_ENUM_FLAGS(AccessFlag)
// Exposes the listed members of the enum class AccessFlag to the current namespace
CV_ENUM_CLASS_EXPOSE(AccessFlag, ACCESS_READ [, ACCESS_WRITE [, ...] ]);

__CV_ENUM_CLASS_EXPOSE_2

#define __CV_ENUM_CLASS_EXPOSE_2 ( EnumType,
MEMBER_CONST,
...
)
値:
__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \
__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_1(EnumType, __VA_ARGS__)); \
#define __CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST)
Definition: cvdef.h:512

__CV_ENUM_CLASS_EXPOSE_3

#define __CV_ENUM_CLASS_EXPOSE_3 ( EnumType,
MEMBER_CONST,
...
)
値:
__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \
__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_2(EnumType, __VA_ARGS__)); \

__CV_ENUM_CLASS_EXPOSE_4

#define __CV_ENUM_CLASS_EXPOSE_4 ( EnumType,
MEMBER_CONST,
...
)
値:
__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \
__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_3(EnumType, __VA_ARGS__)); \

__CV_ENUM_CLASS_EXPOSE_5

#define __CV_ENUM_CLASS_EXPOSE_5 ( EnumType,
MEMBER_CONST,
...
)
値:
__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \
__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_4(EnumType, __VA_ARGS__)); \

__CV_ENUM_CLASS_EXPOSE_6

#define __CV_ENUM_CLASS_EXPOSE_6 ( EnumType,
MEMBER_CONST,
...
)
値:
__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \
__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_5(EnumType, __VA_ARGS__)); \

__CV_ENUM_CLASS_EXPOSE_7

#define __CV_ENUM_CLASS_EXPOSE_7 ( EnumType,
MEMBER_CONST,
...
)
値:
__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \
__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_6(EnumType, __VA_ARGS__)); \

__CV_ENUM_CLASS_EXPOSE_8

#define __CV_ENUM_CLASS_EXPOSE_8 ( EnumType,
MEMBER_CONST,
...
)
値:
__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \
__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_7(EnumType, __VA_ARGS__)); \

__CV_ENUM_CLASS_EXPOSE_9

#define __CV_ENUM_CLASS_EXPOSE_9 ( EnumType,
MEMBER_CONST,
...
)
値:
__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \
__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_8(EnumType, __VA_ARGS__)); \

__CV_ENUM_FLAGS_BITWISE_AND

#define __CV_ENUM_FLAGS_BITWISE_AND ( EnumType,
Arg1Type,
Arg2Type
)
値:
static inline EnumType operator&(const Arg1Type& a, const Arg2Type& b) \
{ \
typedef std::underlying_type<EnumType>::type UnderlyingType; \
return static_cast<EnumType>(static_cast<UnderlyingType>(a) & static_cast<UnderlyingType>(b)); \
} \
CV_INLINE v_reg< _Tp, n > operator&(const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
Bitwise AND

__CV_ENUM_FLAGS_BITWISE_AND_EQ

#define __CV_ENUM_FLAGS_BITWISE_AND_EQ ( EnumType,
Arg1Type
)
値:
static inline EnumType& operator&=(EnumType& _this, const Arg1Type& val) \
{ \
_this = static_cast<EnumType>(static_cast< int >(_this) & static_cast< int >(val)); \
return _this; \
} \

__CV_ENUM_FLAGS_BITWISE_NOT

#define __CV_ENUM_FLAGS_BITWISE_NOT ( EnumType )
値:
static inline EnumType operator~(const EnumType& val) \
{ \
typedef std::underlying_type<EnumType>::type UnderlyingType; \
return static_cast<EnumType>(~static_cast<UnderlyingType>(val)); \
} \
CV_INLINE v_reg< _Tp, n > operator~(const v_reg< _Tp, n > &a)
Bitwise NOT

__CV_ENUM_FLAGS_BITWISE_OR

#define __CV_ENUM_FLAGS_BITWISE_OR ( EnumType,
Arg1Type,
Arg2Type
)
値:
static inline EnumType operator|(const Arg1Type& a, const Arg2Type& b) \
{ \
typedef std::underlying_type<EnumType>::type UnderlyingType; \
return static_cast<EnumType>(static_cast<UnderlyingType>(a) | static_cast<UnderlyingType>(b)); \
} \
CV_INLINE v_reg< _Tp, n > operator|(const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
Bitwise OR

__CV_ENUM_FLAGS_BITWISE_OR_EQ

#define __CV_ENUM_FLAGS_BITWISE_OR_EQ ( EnumType,
Arg1Type
)
値:
static inline EnumType& operator|=(EnumType& _this, const Arg1Type& val) \
{ \
_this = static_cast<EnumType>(static_cast< int >(_this) | static_cast< int >(val)); \
return _this; \
} \

__CV_ENUM_FLAGS_BITWISE_XOR

#define __CV_ENUM_FLAGS_BITWISE_XOR ( EnumType,
Arg1Type,
Arg2Type
)
値:
static inline EnumType operator^(const Arg1Type& a, const Arg2Type& b) \
{ \
typedef std::underlying_type<EnumType>::type UnderlyingType; \
return static_cast<EnumType>(static_cast<UnderlyingType>(a) ^ static_cast<UnderlyingType>(b)); \
} \
CV_INLINE v_reg< _Tp, n > operator^(const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
Bitwise XOR

__CV_ENUM_FLAGS_BITWISE_XOR_EQ

#define __CV_ENUM_FLAGS_BITWISE_XOR_EQ ( EnumType,
Arg1Type
)
値:
static inline EnumType& operator^=(EnumType& _this, const Arg1Type& val) \
{ \
_this = static_cast<EnumType>(static_cast< int >(_this) ^ static_cast< int >(val)); \
return _this; \
} \

__CV_ENUM_FLAGS_LOGICAL_EQ

#define __CV_ENUM_FLAGS_LOGICAL_EQ ( Arg1Type,
Arg2Type
)
値:
static inline bool operator==(const Arg1Type& a, const Arg2Type& b) \
{ \
return static_cast< int >(a) == static_cast< int >(b); \
} \

__CV_ENUM_FLAGS_LOGICAL_NOT

#define __CV_ENUM_FLAGS_LOGICAL_NOT ( EnumType )
値:
static inline bool operator!(const EnumType& val) \
{ \
typedef std::underlying_type<EnumType>::type UnderlyingType; \
return !static_cast<UnderlyingType>(val); \
} \

__CV_ENUM_FLAGS_LOGICAL_NOT_EQ

#define __CV_ENUM_FLAGS_LOGICAL_NOT_EQ ( Arg1Type,
Arg2Type
)
値:
static inline bool operator!=(const Arg1Type& a, const Arg2Type& b) \
{ \
return static_cast< int >(a) != static_cast< int >(b); \
} \

CV_Assert

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

実行時に条件をチェックし,失敗した場合は例外を投げます.

マクロ CV_Assert(およびCV_DbgAssert(expr)) は,指定された式を評価します.それが 0 の場合,このマクロはエラーを発生させます(Seecv::error). マクロ CV_Assert は Debug と Release の両構成で条件をチェックしますが、CV_DbgAssert は Debug 構成でのみ保持されます。

CV_DbgAssert

#define CV_DbgAssert ( expr )

で置き換えられます。CV_Assert(expr)デバッグ構成では

CV_ELEM_SIZE1

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

各チャンネルアイテムのサイズ,0x28442211 = 0010 1000 0100 0100 0010 0010 0001 0001 ~ sizeof(arr_type_elem)の配列。

CV_ENUM_FLAGS

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

CV_Error

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

エラーハンドラを呼び出します。

現在、エラーハンドラはエラーコードとエラーメッセージを標準エラーストリームに出力します。stderr. Debug 構成では,メモリアクセス違反を起こし,実行スタックとすべてのパラメータをデバッガで解析できるようにします.Releaseコンフィギュレーションでは,例外がスローされます.

引数
code エラー::コードの一つ
msg エラーメッセージ

CV_Error_

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

エラーハンドラを呼び出します。

このマクロは、動的な情報を含むエラーメッセージをオンザフライで作成するために使用できます。

// note the extra parentheses around the formatted text message
CV_Error_(Error::StsOutOfRange,
("the value at (%d, %d)=%g is out of range", badPt.x, badPt.y, badValue));
#define CV_Error_(code, args)
Call the error handler.
Definition: base.hpp:334
引数
code エラー::コードの一つ
args printf のような形式のエラーメッセージを括弧で囲みます。

列挙型詳解

CpuFeatures

利用可能なCPU機能

列挙値
CPU_AVX512_SKX

AVX-512F/CD/BW/DQ/VLを搭載したSkylake-X

CPU_AVX512_COMMON

AVX-512をサポートするすべてのCPUの共通命令AVX-512F/CD

CPU_AVX512_KNL

AVX-512F/CD/ER/PFを搭載したKnights Landing

CPU_AVX512_KNM

AVX-512F/CD/ER/PF/4FMAPS/4VNNIW/VPOPCNTDQを搭載したナイツミル

CPU_AVX512_CNL

キャノンレイク AVX-512F/CD/BW/DQ/VL/IFMA/VBMI搭載

CPU_AVX512_CLX

AVX-512F/CD/BW/DQ/VL/VNNIを搭載したカスケード・レイク

CPU_AVX512_ICL

AVX-512F/CD/BW/DQ/VL/IFMA/VBMI/VNNI/VBMI2/BITALG/VPOPCNTDQを搭載したIce Lake

SortFlags

列挙値
SORT_EVERY_ROW

行列の各行を個別にソート

SORT_EVERY_COLUM

行列の各列が独立してソートされます.このフラグと前のフラグは相互に排他的です.

SORT_ASCENDING

各行列の行は,昇順にソートされます.

SORT_DESDING

行列の各行は,降順でソートされます.このフラグと前のフラグは,相互に排他的です.

関数詳解

alignPtr()

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

ポインタを指定されたバイト数にアラインします.

この関数は,入力ポインタと同じ型のアラインド・ポインタを返します.

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

引数
ptr アラインド・ポインター。
n アラインメントサイズは,2の累乗でなければいけません。

alignSize()

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

バッファサイズを指定されたバイト数に揃えます。

この関数は、sz 以上で n で割り切れる最小の数を返します。

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

引数
sz 整列させるバッファサイズを指定します。
n アラインメントサイズは,2の累乗でなければいけません。

checkHardwareSupport()

CV_EXPORTS_W bool cv::checkHardwareSupport ( int feature )

n : 整列させるバッファサイズ 指定された機能がホストハードウェアでサポートされていれば真を返します。

この関数は、指定された機能がホスト・ハードウェアでサポートされていれば、真を返します。ユーザーが setUseOptimized(false) を呼び出すと、それ以降のcheckHardwareSupport()の呼び出しは、setUseOptimized(true)が呼び出されるまでfalseを返します。このようにして,ユーザは OpenCV で最適化されたコードを動的にオン/オフすることができます.

引数
feature cv::CpuFeatures の 1 つである,注目すべき機能.

Cholesky() [1/2]

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

hal::Cholesky のプロキシ.

Cholesky() [2/2]

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

hal::Cholesky のプロキシ.

cubeRoot() [1/2]

static double cv::cubeRoot ( double val )
inline static

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

型の引数を持つ cubeRoot です.double型の呼び出しstd::cbrt(double)

cubeRoot() [2/2]

CV_EXPORTS_W float cv::cubeRoot ( float val )

引数の立方根を計算します.

関数 cubeRoot は,以下を計算します$\sqrt[3]{\texttt{val}}$. 負の引数は正しく処理されます。NaN および Inf は処理されません。精度は、単精度データで可能な最大の精度に近づきます。

引数
val 関数の引数です。

cvCeil()

CV_INLINE int cvCeil ( double value )

浮動小数点数を元の値よりも小さくない最も近い整数に丸めます。

この関数は,次のような整数 i を計算します。

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

引数
value 浮動小数点数です.値が INT_MIN ... INT_MAX の範囲外であれば,結果は INT_MAXの範囲外であれば、結果は定義されません。

cvFloor()

CV_INLINE int cvFloor ( double value )

浮動小数点数を元の値より大きくない最も近い整数に丸めます。

この関数は,次のような整数 i を計算します。

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

引数
value 浮動小数点数です.値が INT_MIN ... INT_MAX の範囲外であれば,結果は INT_MAXの範囲外であれば、結果は定義されません。

cvIsInf()

CV_INLINE int cvIsInf ( double value )

引数がInfinityであるかどうかを判定します。

引数
value 入力された浮動小数点値

この関数は、引数がプラスマイナス無限大(IEEE754規格で定義)の場合は1を、そうでない場合は0を返します。

cvIsNaN()

CV_INLINE int cvIsNaN ( double value )

引数が Not A Number であるかどうかを判定します。

引数
value 入力された浮動小数点値

この関数は、引数が(IEEE754規格で定義されている)Not A Numberであれば1を、そうでなければ0を返します。

cvRound()

CV_INLINE int cvRound ( double value )

浮動小数点数を最も近い整数に丸める

引数
value 浮動小数点数です.値が INT_MIN ... INT_MAX の範囲外であれば,結果は INT_MAXの範囲外であれば、結果は定義されません。

divUp() [1/2]

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

整数の除算で、結果を切り上げます。

式の代わりにこの関数を使います。ceil((float)a / b)式の代わりに使用します。

参照
alignSize

divUp() [2/2]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

error() [1/2]

CV_EXPORTS CV_NORETURN void cv::error ( const Exception & exc )

エラーが発生した場合は、例外を発生させます。

デフォルトでは,この関数はエラーに関する情報を標準エラー出力に表示し,それまでに呼ばれていた場合は停止するか,例外を発生させます。cv::setBreakOnError()が前に呼ばれていた場合は停止するか、例外を発生させます。を使用して、エラー処理を交互に行うことができます。redirectError().

引数
exc 例外を発生させます。
非推奨:
このバージョンを削除

error() [2/2]

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

エラーが発生した場合は、例外を発生させます。

デフォルトでは,この関数はエラーに関する情報を標準エラー出力に表示し,それまでに呼ばれていた場合は停止するか,例外を発生させます。setBreakOnError()が前に呼ばれていた場合は停止するか、例外を発生させます。を使用して、エラー処理を交互に行うことができます。redirectError().

引数
_code - エラーコード (Error::Code)
_err - エラーの説明
_func - 関数の名前です。コンパイラが取得をサポートしている場合のみ利用可能
_file - エラーが発生したソースファイル名
_line - エラーが発生したソースファイルの行番号
参照
CV_Error,CV_Error_,CV_Assert,CV_DbgAssert

fastAtan2()

CV_EXPORTS_W float cv::fastAtan2 ( float y,
float x
)

2Dベクトルの角度を度単位で計算します。

関数 fastAtan2 は、入力された 2D ベクトルの全角を計算します。角度の単位は度で、0度から360度の範囲で変化します。精度は約0.3度です.

引数
x ベクトルのx-座標.
y ベクトルのy座標を指定します。

fastFree()

CV_EXPORTS void cv::fastFree ( void * ptr )

メモリバッファを解放します。

この関数は, fastMalloc で確保されたバッファを解放します.NULLポインタが渡された場合,この関数は何もしません.C バージョンの関数では,ポインタpptrをクリアして,メモリの二重解放の問題を回避します.

引数
ptr 割り当てられたバッファへのポインタ.

fastMalloc()

CV_EXPORTS void * cv::fastMalloc ( size_t bufSize )

アラインドメモリバッファを確保します.

この関数は,指定されたサイズのバッファを確保し,それを返します。バッファサイズが 16 バイト以上の場合,返されるバッファは 16 バイトにアラインされます。

引数
bufSize 割り当てられたバッファサイズ。

forEach_impl()

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

idx は this->rowCall で変更されます。

getBuildInformation()

CV_EXPORTS_W const String & cv::getBuildInformation ( )

完全な構成時間の cmake 出力を返します。

返される値は、バージョンコントロールシステムのリビジョン、コンパイラバージョン、コンパイラフラグ、有効なモジュールとサードパーティライブラリなどを含む生のcmake出力です。出力形式はターゲットアーキテクチャに依存します。

getCPUFeaturesLine()

CV_EXPORTS_W std::string cv::getCPUFeaturesLine ( )

CPU 機能一覧を返します コンパイル時に有効な CPU 機能の一覧を返します。

返される値は、以下のマーカーを持つCPU機能のリストをスペースで区切った文字列です。

  • マーカーなし - ベースライン機能
  • プレフィックス*- ディスパッチャーで有効になった機能
  • suffix?- 有効だがHWでは利用できない機能

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

getCPUTickCount()

CV_EXPORTS_W int64 cv::getCPUTickCount ( )

CPU tick数を返します。

この関数は、一部のアーキテクチャ(x86, x64, PowerPC など)において、現在の CPU のティック数を返します。その他のプラットフォームでは、この関数はgetTickCountと同等です。この関数は、非常に正確な時間の測定や、初期化にも使用できます。RNG初期化にも使用できます。マルチCPUシステムの場合,getCPUTickCountが呼び出されたスレッドは中断され,別のCPUで独自のカウンタを使って再開できることに注意してください。そのため,理論的には(そして実際には),この関数の後続の呼び出しは,単調に増加する値を返す必要はありません。また,最近のCPUは負荷に応じてCPUの周波数を変化させるため,あるコードに費やされたCPUクロック数を時間単位に直接変換することはできません。そのため、実行時間の計測にはgetTickCountの方が一般的に好ましいとされています。

getHardwareFeatureName()

CV_EXPORTS_W String cv::getHardwareFeatureName ( int feature )

IDによるフィーチャー名を返す

機能が定義されていない場合は空の文字列を返す

getNumThreads()

CV_EXPORTS_W int cv::getNumThreads ( )

OpenCV が並列領域で使用するスレッドの数を返します.

OpenCVがスレッドをサポートせずに構築されている場合,常に1を返します.

戻り値の正確な意味は,OpenCVライブラリで利用されているスレッドフレームワークに依存します.

  • TBB- OpenCVが並列領域で利用しようとするスレッド数.ユーザコード内に OpenCV と衝突する tbb::thread_scheduler_init がある場合,この関数は TBB ライブラリで利用されるデフォルトのスレッド数を返します.
  • OpenMP- 新しいチームを形成するために利用できるスレッド数の上限。
  • Concurrency- OpenCV が並列領域に利用しようとするスレッド数.
  • GCD- サポートされていません.互換性のために,GCD スレッドプールの上限(512)を返します.
  • C=- setNumThreads を呼び出す前に threads > 0 であれば,OpenCV が並列領域で利用しようとするスレッド数,そうでなければプロセスで利用可能な論理 CPU の数を返します.
    参照
    setNumThreads,getThreadNum

getThreadNum()

CV_EXPORTS_W int cv::getThreadNum ( )

現在の並列領域内で,現在実行されているスレッドのインデックスを返します.並列領域外で呼び出された場合は常に 0 を返します。

非推奨:
現在の実装は、このドキュメントに対応していません。

この戻り値の正確な意味は,OpenCV ライブラリで利用されているスレッドフレームワークに依存します.

  • TBB- 現在の 4.1 TBB リリースではサポートされていません.将来的にはサポートされるかもしれません.
  • OpenMP- 呼び出したスレッドの,現在のチーム内でのスレッド番号.
  • Concurrency- 現在のコンテキストが実行されている仮想プロセッサのID(マスタースレッドは0,その他は一意の番号,ただし1,2,3,...は不要).
  • GCD- システム呼び出し側のスレッドのIDです。並列領域内では0を返すことはありません。
  • C=- 現在の並列タスクのインデックスです。
    参照
    setNumThreads,getNumThreads

getTickCount()

CV_EXPORTS_W int64 cv::getTickCount ( )

ティックの数を返します。

この関数は,あるイベント(例えば,マシンの電源が入ったとき)の後のティック数を返します。を初期化したり,関数の実行時間を計測したりするのに利用できます.RNGを初期化したり、関数呼び出しの前後のティック数を読み取って関数の実行時間を測定したりするのに使用できます。

参照
getTickFrequency,TickMeter

getTickFrequency()

CV_EXPORTS_W double cv::getTickFrequency ( )

1 秒あたりの目盛り数を返します。

この関数は、1秒あたりの目盛りの数を返します。つまり、以下のコードでは実行時間を秒単位で計算しています。

double t = (double)getTickCount();
// do something ...
t = ((double)getTickCount() - t)/getTickFrequency();
CV_EXPORTS_W double getTickFrequency()
Returns the number of ticks per second.
CV_EXPORTS_W int64 getTickCount()
Returns the number of ticks.
参照
getTickCount,TickMeter

getVersionString()

CV_EXPORTS_W String cv::getVersionString ( )

ライブラリのバージョンを文字列で返す

例えば、"3.4.1-dev"。

参照
getMajorVersion, getMinorVersion, getRevisionVersion

isAligned() [1/5]

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

渡された値のアライメントチェック

使用方法isAligned<sizeof(int)>(...)

覚え書き
Alignment(N)は2の累乗(2**k, 2^k)でなければなりません。

isAligned() [2/5]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

isAligned() [3/5]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

isAligned() [4/5]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

isAligned() [5/5]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

LU() [1/2]

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

hal::LUのプロキシ

LU() [2/2]

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

hal::LUのプロキシ

operator<<()

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

出力演算子

tm.start();
// do something ...
tm.stop();
std::cout << tm;
a Class to measure passing time.
Definition: utility.hpp:295
CV_WRAP void stop()
stops counting ticks.
Definition: utility.hpp:310
CV_WRAP void start()
starts counting ticks.
Definition: utility.hpp:304

redirectError()

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

新しいエラーハンドラーとオプションのユーザーデータを設定します。

この関数は,新しいエラーハンドラを設定します。cv::error().

引数
errCallback 新しいエラーハンドラを設定します.NULLの場合は,デフォルトのエラーハンドラが利用されます.
userdata コールバックに渡される,オプションのユーザデータポインタ.
prevUserdata 前のユーザデータポインタが格納される,オプションの出力パラメータ.
戻り値
前のエラーハンドラ

roundUp() [1/2]

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

1番目の値を2番目の値の最も近い倍数に丸めます。

式の代わりにこの関数を使います。ceil((float)a / b) * b式の代わりに使用します。

参照
divUp

roundUp() [2/2]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [1/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [2/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [3/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [4/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [5/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [6/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [7/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [8/11]

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

あるプリミティブ型から別のプリミティブ型への正確な変換のためのテンプレート関数。

関数 saturate_cast は, static_cast<T>() などの標準的な C++ のキャスト操作に似ています.この関数は,あるプリミティブ型から別のプリミティブ型への効率的かつ正確な変換を行います(導入の章を参照してください).名前にある saturate は,入力値 v が対象となる型の範囲外である場合,入力の下位ビットを取っただけでは結果が得られず,代わりに値が切り取られることを意味します。例えば

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

このようなクリッピングが行われるのは、対象となる型が unsigned char , signed char , unsigned short , signed short の場合です。32 ビット整数の場合,クリッピングは行われません。

パラメーターが浮動小数点値で、ターゲットタイプが整数(8、16、32ビット)の場合、浮動小数点値はまず最も近い整数に丸められ、その後必要に応じてクリッピングされます(ターゲットタイプが8、16ビットの場合)。

引数
v 機能パラメータ。
参照
add,subtract,multiply,divide,Mat::convertTo

saturate_cast() [9/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [10/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

saturate_cast() [11/11]

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

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

setBreakOnError()

CV_EXPORTS bool cv::setBreakOnError ( bool flag )

ブレークオンエラーモードを設定/リセットします。

ブレークオンエラーモードが設定されていると、デフォルトのエラーハンドラがハードウェア例外を発行するので、デバッグがより便利になります。

戻り値
前の状態

setNumThreads()

CV_EXPORTS_W void cv::setNumThreads ( int nthreads )

OpenCV は,次の並列領域のスレッド数の設定を試みます.

threads == 0 の場合,OpenCV はスレッドの最適化を無効にし,すべての関数を逐次実行します.threads < 0 を渡すと,スレッド数がシステムのデフォルトにリセットされます.この関数は,並列領域の外側で呼ばれなければいけません.

OpenCV は,指定されたスレッド数で関数を実行しようとしますが,フレームワークとは異なる振る舞いもあります.

  • TBB- ユーザ定義の並列構造は,別のスレッドが指定されなければ,同じスレッド数で実行されます.後にユーザが独自のスケジューラを作成した場合,OpenCV はそれを利用します.
  • OpenMP- 特別に定義された動作はありません.
  • Concurrency- threads == 1 の場合,OpenCV はスレッドの最適化を無効にし,その関数を逐次実行します.
  • GCD- 値 <= 0 のみをサポートします.
  • C=- 特別に定義された動作はありません.
    引数
    nthreads OpenCV が利用するスレッド数.
    参照
    getNumThreads,getThreadNum

setUseOptimized()

CV_EXPORTS_W void cv::setUseOptimized ( bool onoff )

最適化されたコードを有効または無効にします.

この関数は,最適化されたディスパッチコード(SSE4.2,AVX/AVX2,その他の命令をサポートするプラットフォームで使用されるコード)を動的にオン・オフするために利用できます.これは,OpenCVの関数によってさらにチェックされるグローバルフラグを設定します.このフラグは,OpenCV の内部ループではチェックされないので,アプリケーションの最上位レベルで,他の OpenCV 関数が実行されていないことが確認できる場合にのみ,この関数を呼び出すのが安全です.

デフォルトでは,CMake で無効にしない限り,最適化されたコードが有効になります.現在の状態は, useOptimized で取得できます.

引数
onoff 最適化されたコードを使用すべきか(off=true),使用すべきでないか(off=false)を指定するブール値のフラグです.

useOptimized()

CV_EXPORTS_W bool cv::useOptimized ( )

最適化されたコードの使用状況を返します。

最適化されたコードが有効な場合、この関数はtrueを返します。それ以外の場合は,false を返します。