OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
ユーティリティおよびシステム関数とマクロ

トピック

 ロギング機能
 
 SSE ユーティリティ
 
 NEON ユーティリティ
 
 VSXユーティリティ
 
 Softfloat サポート
 
 OpenCV サンプル用ユーティリティ関数
 
 

詳細説明

名前空間

namespace  cv
 
namespace  cv::details
 
namespace  cv::Error
 
namespace  cv::instr
 
namespace  cv::utils::fs
 

クラス

class  cv::Allocator< _Tp >
 
class  cv::AutoBuffer< _Tp, fixed_size >
 自動的に割り当てられるバッファクラス。続きを読む...
 
class  cv::utils::BufferArea
 複数のバッファで共有されるメモリブロックを管理する。 続き...
 
class  cv::CommandLineParser
 コマンドライン解析用に設計されている。続きを読む...
 
union  Cv16suf
 
union  Cv32suf
 
union  Cv64suf
 
class  cv::Exception
 エラーに渡されるクラス。 詳細...
 
struct  cv::Hamming
 
class  cv::ParallelLoopBody
 並列データプロセッサの基底クラス。続きを読む...
 
class  cv::ParallelLoopBodyLambdaWrapper
 
class  cv::TickMeter
 経過時間を測定するためのクラス。続きを読む...
 
class  cv::TLSData< T >
 シンプルなTLSデータクラス。 詳細...
 
class  cv::TLSDataAccumulator< T >
 収集メソッドを備えたTLSデータアキュムレータ。 詳細...
 
class  cv::TLSDataContainer
 

マクロ定義

#define __has_cpp_attribute(__x)
 
#define CV_2PI   6.283185307179586476925286766559
 
#define CV_ALWAYS_INLINE   inline
 
#define CV_Assert(expr)
 実行時に条件をチェックし、失敗した場合は例外をスローする。
 
#define CV_AssertTerminate(expr)
 
#define CV_CDECL
 
#define CV_CMP(a, b)
 
#define CV_CONSTEXPR   constexpr
 
#define CV_CPU_AVX   10
 
#define CV_CPU_AVX2   11
 
#define CV_CPU_AVX512_CLX   261
 
#define CV_CPU_AVX512_CNL   260
 
#define CV_CPU_AVX512_COMMON   257
 
#define CV_CPU_AVX512_ICL   262
 
#define CV_CPU_AVX512_KNL   258
 
#define CV_CPU_AVX512_KNM   259
 
#define CV_CPU_AVX512_SKX   256
 
#define CV_CPU_AVX_5124FMAPS   27
 
#define CV_CPU_AVX_5124VNNIW   26
 
#define CV_CPU_AVX_512BITALG   24
 
#define CV_CPU_AVX_512BW   14
 
#define CV_CPU_AVX_512CD   15
 
#define CV_CPU_AVX_512DQ   16
 
#define CV_CPU_AVX_512ER   17
 
#define CV_CPU_AVX_512F   13
 
#define CV_CPU_AVX_512IFMA   18
 
#define CV_CPU_AVX_512IFMA512   18
 
#define CV_CPU_AVX_512PF   19
 
#define CV_CPU_AVX_512VBMI   20
 
#define CV_CPU_AVX_512VBMI2   22
 
#define CV_CPU_AVX_512VL   21
 
#define CV_CPU_AVX_512VNNI   23
 
#define CV_CPU_AVX_512VPOPCNTDQ   25
 
#define CV_CPU_FMA3   12
 
#define CV_CPU_FP16   9
 
#define CV_CPU_LASX   231
 
#define CV_CPU_LSX   230
 
#define CV_CPU_MMX   1
 
#define CV_CPU_MSA   150
 
#define CV_CPU_NEON   100
 
#define CV_CPU_NEON_BF16   103
 
#define CV_CPU_NEON_DOTPROD   101
 
#define CV_CPU_NEON_FP16   102
 
#define CV_CPU_NONE   0
 
#define CV_CPU_POPCNT   8
 
#define CV_CPU_RISCVV   170
 
#define CV_CPU_RVV   210
 
#define CV_CPU_SSE   2
 
#define CV_CPU_SSE2   3
 
#define CV_CPU_SSE3   4
 
#define CV_CPU_SSE4_1   6
 
#define CV_CPU_SSE4_2   7
 
#define CV_CPU_SSSE3   5
 
#define CV_CPU_SVE   104
 
#define CV_CPU_VSX   200
 
#define CV_CPU_VSX3   201
 
#define CV_CXX11   1
 
#define CV_DbgAssert(expr)
 
#define CV_DECL_ALIGNED(x)
 
#define CV_ELEM_SIZE(type)
 
#define CV_ELEM_SIZE1(type)
 
#define CV_ENABLE_UNROLLED   1
 
#define CV_ENUM_CLASS_EXPOSE(EnumType, ...)
 
#define CV_ENUM_FLAGS(EnumType)
 
#define CV_Error(code, msg)
 エラーハンドラを呼び出す。
 
#define CV_Error_(code, args)
 エラーハンドラを呼び出す。
 
#define CV_EXPORTS_AS(synonym)
 
#define CV_EXPORTS_TEMPLATE   CV_EXPORTS
 
#define CV_EXPORTS_W   CV_EXPORTS
 
#define CV_EXPORTS_W_MAP   CV_EXPORTS
 
#define CV_EXPORTS_W_PARAMS   CV_EXPORTS
 
#define CV_EXPORTS_W_SIMPLE   CV_EXPORTS
 
#define CV_EXTERN_C   extern "C"
 
#define CV_FINAL   final
 
#define CV_FOURCC_MACRO(c1, c2, c3, c4)
 コーデックのfourccコードを構築するマクロ。CV_FOURCC() と同じ。
 
#define CV_FP16_TYPE   0
 
#define CV_HARDWARE_MAX_FEATURE   512
 
#define CV_IMAX(a, b)
 
#define CV_IMIN(a, b)
 
#define CV_IN_OUT
 
#define CV_IS_CONT_MAT   CV_IS_MAT_CONT
 
#define CV_IS_MAT_CONT(flags)
 
#define CV_IS_SUBMAT(flags)
 
#define CV_LOG2   0.69314718055994530941723212145818
 
#define CV_MAT_CN(flags)
 
#define CV_MAT_CN_MASK   ((CV_CN_MAX - 1) << CV_CN_SHIFT)
 
#define CV_MAT_CONT_FLAG   (1 << CV_MAT_CONT_FLAG_SHIFT)
 
#define CV_MAT_CONT_FLAG_SHIFT   14
 
#define CV_MAT_TYPE(flags)
 
#define CV_MAT_TYPE_MASK   (CV_DEPTH_MAX*CV_CN_MAX - 1)
 
#define CV_MAX_DIM   32
 
#define CV_ND
 
#define CV_NODISCARD_STD   /* 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
 

列挙型

enum  cv::AlgorithmHint {
  cv::ALGO_HINT_DEFAULT = 0 ,
  cv::ALGO_HINT_ACCURATE = 1 ,
  cv::ALGO_HINT_APPROX = 2
}
 一部の関数の動作を変更できるフラグ。フラグの集合として使用される。 続きを読む...
 
enum  CpuFeatures {
  CPU_MMX = 1 ,
  CPU_SSE = 2 ,
  CPU_SSE2 = 3 ,
  CPU_SSE3 = 4 ,
  CPU_SSSE3 = 5 ,
  CPU_SSE4_1 = 6 ,
  CPU_SSE4_2 = 7 ,
  CPU_POPCNT = 8 ,
  CPU_FP16 = 9 ,
  CPU_AVX = 10 ,
  CPU_AVX2 = 11 ,
  CPU_FMA3 = 12 ,
  CPU_AVX_512F = 13 ,
  CPU_AVX_512BW = 14 ,
  CPU_AVX_512CD = 15 ,
  CPU_AVX_512DQ = 16 ,
  CPU_AVX_512ER = 17 ,
  CPU_AVX_512IFMA512 = 18 ,
  CPU_AVX_512IFMA = 18 ,
  CPU_AVX_512PF = 19 ,
  CPU_AVX_512VBMI = 20 ,
  CPU_AVX_512VL = 21 ,
  CPU_AVX_512VBMI2 = 22 ,
  CPU_AVX_512VNNI = 23 ,
  CPU_AVX_512BITALG = 24 ,
  CPU_AVX_512VPOPCNTDQ = 25 ,
  CPU_AVX_5124VNNIW = 26 ,
  CPU_AVX_5124FMAPS = 27 ,
  CPU_NEON = 100 ,
  CPU_NEON_DOTPROD = 101 ,
  CPU_NEON_FP16 = 102 ,
  CPU_NEON_BF16 = 103 ,
  CPU_SVE = 104 ,
  CPU_MSA = 150 ,
  CPU_RISCVV = 170 ,
  CPU_VSX = 200 ,
  CPU_VSX3 = 201 ,
  CPU_RVV = 210 ,
  CPU_LSX = 230 ,
  CPU_LASX = 231 ,
  CPU_AVX512_SKX = 256 ,
  CPU_AVX512_COMMON = 257 ,
  CPU_AVX512_KNL = 258 ,
  CPU_AVX512_KNM = 259 ,
  CPU_AVX512_CNL = 260 ,
  CPU_AVX512_CLX = 261 ,
  CPU_AVX512_ICL = 262 ,
  CPU_MAX_FEATURE = 512
}
 利用可能なCPU機能。 続きを読む...
 
enum  cv::SortFlags {
  cv::SORT_EVERY_ROW = 0 ,
  cv::SORT_EVERY_COLUMN = 1 ,
  cv::SORT_ASCENDING = 0 ,
  cv::SORT_DESCENDING = 16
}
 

関数

template<typename _Tp >
static _Tpcv::alignPtr (_Tp *ptr, int n=(int) sizeof(_Tp))
 ポインタを指定したバイト数にアラインメントする。
 
static size_t cv::alignSize (size_t sz, int n)
 バッファサイズを指定したバイト数にアラインする。
 
bool cv::checkHardwareSupport (int feature)
 指定した機能がホストハードウェアでサポートされている場合に true を返す。
 
bool cv::Cholesky (double *A, size_t astep, int m, double *b, size_t bstep, int n)
 
bool cv::Cholesky (float *A, size_t astep, int m, float *b, size_t bstep, int n)
 
static double cv::cubeRoot (double val)
 
float cv::cubeRoot (float val)
 引数の立方根を計算する。
 
template<typename _Tp >
_Tp cv::cv_abs (_Tp x)
 
int cv::cv_abs (schar x)
 
int cv::cv_abs (short x)
 
int cv::cv_abs (uchar x)
 
int cv::cv_abs (ushort x)
 
int CV_FOURCC (char c1, char c2, char c3, char c4)
 ビデオコーデックやその他多くの場面で使用される 'fourcc' コードを構築する。‘CV_FOURCC('I’, 'Y', 'U', 'V')` のように4文字を指定して呼び出すだけでよい。
 
int cvCeil (double value)
 浮動小数点数を、元の値より小さくならない最も近い整数に丸める。
 
int cvCeil (float value)
 
int cvCeil (int value)
 
int cvFloor (double value)
 浮動小数点数を、元の値より大きくならない最も近い整数に丸める。
 
int cvFloor (float value)
 
int cvFloor (int value)
 
int cvIsInf (double value)
 引数が無限大(Infinity)かどうかを判定する。
 
int cvIsInf (float value)
 
int cvIsNaN (double value)
 引数が非数(Not A Number)かどうかを判定する。
 
int cvIsNaN (float value)
 
int cvRound (double value)
 浮動小数点数を最も近い整数に丸める。
 
int cvRound (float value)
 
int cvRound (int value)
 
static int cv::divUp (int a, unsigned int b)
 結果を切り上げる整数除算。
 
static size_t cv::divUp (size_t a, unsigned int b)
 
static String cv::utils::dumpBool (bool argument)
 
static String cv::utils::dumpCString (const char *argument)
 
static String cv::utils::dumpDouble (double argument)
 
static String cv::utils::dumpFloat (float argument)
 
String cv::utils::dumpInputArray (InputArray argument)
 
String cv::utils::dumpInputArrayOfArrays (InputArrayOfArrays argument)
 
String cv::utils::dumpInputOutputArray (InputOutputArray argument)
 
String cv::utils::dumpInputOutputArrayOfArrays (InputOutputArrayOfArrays argument)
 
static String cv::utils::dumpInt (int argument)
 
static String cv::utils::dumpInt64 (int64 argument)
 
static String cv::utils::dumpRange (const Range &argument)
 
static String cv::utils::dumpRect (const Rect &argument)
 
static String cv::utils::dumpRotatedRect (const RotatedRect &argument)
 
static String cv::utils::dumpSizeT (size_t argument)
 
static String cv::utils::dumpString (const String &argument)
 
static String cv::utils::dumpTermCriteria (const TermCriteria &argument)
 
String cv::utils::dumpVectorOfDouble (const std::vector< double > &vec)
 
String cv::utils::dumpVectorOfInt (const std::vector< int > &vec)
 
String cv::utils::dumpVectorOfRect (const std::vector< Rect > &vec)
 
void cv::error (const Exception &exc)
 エラーを通知し、例外を送出する。
 
void cv::error (int code, const String &err, const char *func, const char *file, int line)
 エラーを通知し、例外を送出する。
 
float cv::fastAtan2 (float y, float x)
 2次元ベクトルの角度を度単位で計算する。
 
void cv::fastFree (void *ptr)
 メモリバッファを解放する。
 
void * cv::fastMalloc (size_t bufSize)
 アライメントの取れたメモリバッファを確保する。
 
template<typename _Tp , typename Functor >
void cv::Mat::forEach_impl (const Functor &operation)
 
String cv::format (const char *fmt,...)
 printf形式の式を用いて整形したテキスト文字列を返す。
 
const Stringcv::getBuildInformation ()
 完全なconfiguration time cmake出力を返す。
 
std::string cv::getCPUFeaturesLine ()
 コンパイル時に有効化されたCPU機能のリストを返す。
 
int64 cv::getCPUTickCount ()
 CPUティック数を返す。
 
AlgorithmHint cv::getDefaultAlgorithmHint ()
 OpenCVのコンパイル時に定義された AlgorithmHint を返す。ALGO_HINT_DEFAULT の動作を定義する。
 
static size_t cv::getElemSize (int type)
 
String cv::getHardwareFeatureName (int feature)
 IDから機能名を返す。
 
int cv::getNumberOfCPUs ()
 プロセスで利用可能な論理CPUの数を返す。
 
int cv::getNumThreads ()
 OpenCVが並列領域で使用するスレッド数を返す。
 
int cv::getThreadNum ()
 現在の並列領域内で現在実行中のスレッドのインデックスを返す。並列領域外で呼ばれた場合は常に0を返す。
 
int64 cv::getTickCount ()
 ティック数を返す。
 
double cv::getTickFrequency ()
 1秒あたりのティック数を返す。
 
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)
 第1引数の値を第2引数の値の最も近い倍数に切り上げる。
 
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)
 break-on-errorモードを設定/解除する。
 
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>

Value:
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>

Value:
do { if(!!(expr)) ; else cv::error( cv::Error::StsAssert, #expr, CV_Func, __FILE__, __LINE__ ); } while(0)
void error(const Exception &exc)
Signals an error and raises the exception.
@ StsAssert
assertion failed
Definition base.hpp:115

実行時に条件をチェックし、失敗した場合は例外をスローする。

マクロ CV_Assert(および CV_DbgAssert(expr))は指定された式を評価する。式が0の場合、マクロはエラーを発生させる(cv::error を参照)。マクロ CV_Assert はDebug構成とRelease構成の両方で条件をチェックするのに対し、CV_DbgAssert はDebug構成でのみ保持される。CV_AssertTerminate は、noexcept 属性を持つ関数における不変条件チェック用の CV_Assert に類似したものである。例外をスローせず、アプリケーションを終了させる。

samples/cpp/grabcut.cpp, samples/cpp/image_alignment.cpp, samples/cpp/train_HOG.cpp, samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp, samples/dnn/classification.cpp, samples/dnn/object_detection.cpp, samples/dnn/segmentation.cpp, および samples/dnn/text_detection.cpp

◆ CV_AssertTerminate

#define CV_AssertTerminate ( expr)

#include <opencv2/core/base.hpp>

Value:
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
Signals an error and terminate application.

◆ CV_CDECL

#define CV_CDECL

◆ CV_CMP

#define CV_CMP ( a,
b )

#include <opencv2/core/cvdef.h>

Value:
(((a) > (b)) - ((a) < (b)))

◆ CV_CONSTEXPR

#define CV_CONSTEXPR   constexpr

◆ CV_CPU_AVX

#define CV_CPU_AVX   10

◆ CV_CPU_AVX2

#define CV_CPU_AVX2   11

◆ CV_CPU_AVX512_CLX

#define CV_CPU_AVX512_CLX   261

◆ CV_CPU_AVX512_CNL

#define CV_CPU_AVX512_CNL   260

◆ CV_CPU_AVX512_COMMON

#define CV_CPU_AVX512_COMMON   257

◆ CV_CPU_AVX512_ICL

#define CV_CPU_AVX512_ICL   262

◆ CV_CPU_AVX512_KNL

#define CV_CPU_AVX512_KNL   258

◆ CV_CPU_AVX512_KNM

#define CV_CPU_AVX512_KNM   259

◆ CV_CPU_AVX512_SKX

#define CV_CPU_AVX512_SKX   256

◆ CV_CPU_AVX_5124FMAPS

#define CV_CPU_AVX_5124FMAPS   27

◆ CV_CPU_AVX_5124VNNIW

#define CV_CPU_AVX_5124VNNIW   26

◆ CV_CPU_AVX_512BITALG

#define CV_CPU_AVX_512BITALG   24

◆ CV_CPU_AVX_512BW

#define CV_CPU_AVX_512BW   14

◆ CV_CPU_AVX_512CD

#define CV_CPU_AVX_512CD   15

◆ CV_CPU_AVX_512DQ

#define CV_CPU_AVX_512DQ   16

◆ CV_CPU_AVX_512ER

#define CV_CPU_AVX_512ER   17

◆ CV_CPU_AVX_512F

#define CV_CPU_AVX_512F   13

◆ CV_CPU_AVX_512IFMA

#define CV_CPU_AVX_512IFMA   18

◆ CV_CPU_AVX_512IFMA512

#define CV_CPU_AVX_512IFMA512   18

◆ CV_CPU_AVX_512PF

#define CV_CPU_AVX_512PF   19

◆ CV_CPU_AVX_512VBMI

#define CV_CPU_AVX_512VBMI   20

◆ CV_CPU_AVX_512VBMI2

#define CV_CPU_AVX_512VBMI2   22

◆ CV_CPU_AVX_512VL

#define CV_CPU_AVX_512VL   21

◆ CV_CPU_AVX_512VNNI

#define CV_CPU_AVX_512VNNI   23

◆ CV_CPU_AVX_512VPOPCNTDQ

#define CV_CPU_AVX_512VPOPCNTDQ   25

◆ CV_CPU_FMA3

#define CV_CPU_FMA3   12

◆ CV_CPU_FP16

#define CV_CPU_FP16   9

◆ CV_CPU_LASX

#define CV_CPU_LASX   231

◆ CV_CPU_LSX

#define CV_CPU_LSX   230

◆ CV_CPU_MMX

#define CV_CPU_MMX   1

◆ CV_CPU_MSA

#define CV_CPU_MSA   150

◆ CV_CPU_NEON

#define CV_CPU_NEON   100

◆ CV_CPU_NEON_BF16

#define CV_CPU_NEON_BF16   103

◆ CV_CPU_NEON_DOTPROD

#define CV_CPU_NEON_DOTPROD   101

◆ CV_CPU_NEON_FP16

#define CV_CPU_NEON_FP16   102

◆ CV_CPU_NONE

#define CV_CPU_NONE   0

◆ CV_CPU_POPCNT

#define CV_CPU_POPCNT   8

◆ CV_CPU_RISCVV

#define CV_CPU_RISCVV   170

◆ CV_CPU_RVV

#define CV_CPU_RVV   210

◆ CV_CPU_SSE

#define CV_CPU_SSE   2

◆ CV_CPU_SSE2

#define CV_CPU_SSE2   3

◆ CV_CPU_SSE3

#define CV_CPU_SSE3   4

◆ CV_CPU_SSE4_1

#define CV_CPU_SSE4_1   6

◆ CV_CPU_SSE4_2

#define CV_CPU_SSE4_2   7

◆ CV_CPU_SSSE3

#define CV_CPU_SSSE3   5

◆ CV_CPU_SVE

#define CV_CPU_SVE   104

◆ CV_CPU_VSX

#define CV_CPU_VSX   200

◆ CV_CPU_VSX3

#define CV_CPU_VSX3   201

◆ CV_CXX11

#define CV_CXX11   1

◆ CV_DbgAssert

#define CV_DbgAssert ( expr)

#include <opencv2/core/base.hpp>

Value:
CV_Assert(expr)
#define CV_Assert(expr)
Checks a condition at runtime and throws exception if it fails.
Definition base.hpp:423

◆ CV_DECL_ALIGNED

#define CV_DECL_ALIGNED ( x)

◆ CV_ELEM_SIZE

#define CV_ELEM_SIZE ( type)

#include <opencv2/core/cvdef.h>

Value:
(CV_MAT_CN(type)*CV_ELEM_SIZE1(type))
#define CV_ELEM_SIZE1(type)
Definition cvdef.h:511
#define CV_MAT_CN(flags)
Definition cvdef.h:498

◆ CV_ELEM_SIZE1

#define CV_ELEM_SIZE1 ( type)

#include <opencv2/core/cvdef.h>

Value:
((0x28442211 >> CV_MAT_DEPTH(type)*4) & 15)
#define CV_MAT_DEPTH(flags)
Definition 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>

Value:
__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>

Value:
__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>

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

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

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

引数
codeError::Code のいずれか
msgエラーメッセージ
samples/cpp/grabcut.cpp, samples/cpp/pca.cpp, samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp, samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp, samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp, samples/dnn/classification.cpp, samples/dnn/object_detection.cpp, および samples/dnn/segmentation.cpp

◆ CV_Error_

#define CV_Error_ ( code,
args )

#include <opencv2/core/base.hpp>

Value:
cv::error( code, cv::format args, CV_Func, __FILE__, __LINE__ )
String format(const char *fmt,...)
Returns a text string formatted using the printf-like expression.

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

このマクロは、動的な情報を含めるためにエラーメッセージをその場で構築するのに使用できる。例えば次のようになる:

// 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:413
引数
codeError::Code のいずれか
args括弧で囲まれた printf 形式のフォーマット済みエラーメッセージ

◆ CV_EXPORTS_AS

#define CV_EXPORTS_AS ( synonym)

#include <opencv2/core/cvdef.h>

Value:
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>

Value:
(((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>

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

◆ CV_IMIN

#define CV_IMIN ( a,
b )

#include <opencv2/core/cvdef.h>

Value:
((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>

Value:
((flags) & CV_MAT_CONT_FLAG)
#define CV_MAT_CONT_FLAG
Definition cvdef.h:502

◆ CV_IS_SUBMAT

#define CV_IS_SUBMAT ( flags)

#include <opencv2/core/cvdef.h>

Value:
((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>

Value:
((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
#define CV_CN_SHIFT
Definition interface.h:70
#define CV_MAT_CN_MASK
Definition cvdef.h:497

◆ CV_MAT_CN_MASK

#define CV_MAT_CN_MASK   ((CV_CN_MAX - 1) << CV_CN_SHIFT)

◆ CV_MAT_CONT_FLAG

#define CV_MAT_CONT_FLAG   (1 << CV_MAT_CONT_FLAG_SHIFT)

◆ CV_MAT_CONT_FLAG_SHIFT

#define CV_MAT_CONT_FLAG_SHIFT   14

◆ CV_MAT_TYPE

#define CV_MAT_TYPE ( flags)

#include <opencv2/core/cvdef.h>

Value:
((flags) & CV_MAT_TYPE_MASK)
#define CV_MAT_TYPE_MASK
Definition cvdef.h:499

◆ CV_MAT_TYPE_MASK

#define CV_MAT_TYPE_MASK   (CV_DEPTH_MAX*CV_CN_MAX - 1)

◆ CV_MAX_DIM

#define CV_MAX_DIM   32

◆ CV_ND

#define CV_ND

◆ CV_NODISCARD_STD

#define CV_NODISCARD_STD   /* nothing by default */

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

Value:
CV_CMP((a),0)
#define CV_CMP(a, b)
Definition cvdef.h:527

◆ CV_STDCALL

#define CV_STDCALL

◆ CV_STRONG_ALIGNMENT

#define CV_STRONG_ALIGNMENT   0

◆ CV_SUBMAT_FLAG

#define CV_SUBMAT_FLAG   (1 << CV_SUBMAT_FLAG_SHIFT)

◆ CV_SUBMAT_FLAG_SHIFT

#define CV_SUBMAT_FLAG_SHIFT   15

◆ CV_SWAP

#define CV_SWAP ( a,
b,
t )

#include <opencv2/core/cvdef.h>

Value:
((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 )

#include <opencv2/core/cvdef.h>

Value:
((a) > (b) ? (b) : (a))
samples/cpp/camshiftdemo.cpp, samples/cpp/fitellipse.cpp, および samples/cpp/kmeans.cpp

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

AVX-512F/CD/BW/DQ/VL を備えた Skylake-X。

CPU_AVX512_COMMON 

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

CPU_AVX512_KNL 

AVX-512F/CD/ER/PF を備えた Knights Landing。

CPU_AVX512_KNM 

AVX-512F/CD/ER/PF/4FMAPS/4VNNIW/VPOPCNTDQ を備えた Knights Mill。

CPU_AVX512_CNL 

AVX-512F/CD/BW/DQ/VL/IFMA/VBMI を備えた Cannon Lake。

CPU_AVX512_CLX 

AVX-512F/CD/BW/DQ/VL/VNNI を備えた Cascade Lake。

CPU_AVX512_ICL 

AVX-512F/CD/BW/DQ/VL/IFMA/VBMI/VNNI/VBMI2/BITALG/VPOPCNTDQ を備えた Ice Lake。

CPU_MAX_FEATURE 

◆ SortFlags

#include <opencv2/core.hpp>

列挙値
SORT_EVERY_ROW 
Python: cv.SORT_EVERY_ROW

各行列の行を独立してソートする。

SORT_EVERY_COLUMN 
Python: cv.SORT_EVERY_COLUMN

各行列の列を独立してソートする。このフラグと前述のフラグは排他的である。

SORT_ASCENDING 
Python: cv.SORT_ASCENDING

各行列の行を昇順にソートする。

SORT_DESCENDING 
Python: cv.SORT_DESCENDING

各行列の行を降順にソートする。このフラグと前述のフラグも排他的である。

関数詳解

◆ alignPtr()

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

#include <opencv2/core/utility.hpp>

ポインタを指定したバイト数に整列させる。

この関数は、入力ポインタと同じ型の整列されたポインタを返す:

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

引数
ptrアライメント済みのポインタ。
nアライメントサイズ。2のべき乗でなければならない。

◆ alignSize()

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

#include <opencv2/core/utility.hpp>

バッファサイズを指定したバイト数に整列させる。

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

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

引数
szアライメントするバッファサイズ。
nアライメントサイズ。2のべき乗でなければならない。

◆ checkHardwareSupport()

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

#include <opencv2/core/utility.hpp>

指定された機能がホストハードウェアでサポートされている場合に true を返す。

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

引数
feature対象とする機能。cv::CpuFeatures のいずれか

◆ Cholesky() [1/2]

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

#include <opencv2/core/base.hpp>

hal::Cholesky のプロキシ

◆ Cholesky() [2/2]

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

#include <opencv2/core/base.hpp>

hal::Cholesky のプロキシ

◆ cubeRoot() [1/2]

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

#include <opencv2/core/base.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

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

◆ cubeRoot() [2/2]

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

#include <opencv2/core/base.hpp>

引数の立方根を計算する。

関数 cubeRoot は \(\sqrt[3]{\texttt{val}}\) を計算する。負の引数も正しく処理される。NaN と Inf は処理されない。精度は単精度データに対して可能な最大精度に近づく。

引数
val関数の引数。

◆ cv_abs() [1/5]

template<typename _Tp >
_Tp cv::cv_abs ( _Tp x)
inline

◆ cv_abs() [2/5]

int cv::cv_abs ( schar x)
inline

◆ cv_abs() [3/5]

int cv::cv_abs ( short x)
inline

◆ cv_abs() [4/5]

int cv::cv_abs ( uchar x)
inline

◆ cv_abs() [5/5]

int cv::cv_abs ( ushort x)
inline

◆ CV_FOURCC()

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

#include <opencv2/core/cvdef.h>

ビデオコーデックやその他多くの場面で使用される 'fourcc' コードを構築する。‘CV_FOURCC('I’, 'Y', 'U', 'V')` のように4文字を指定して呼び出すだけでよい。

◆ cvCeil() [1/3]

int cvCeil ( double value)

#include <opencv2/core/fast_math.hpp>

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

この関数は、次を満たす整数 i を計算する:

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

引数
value浮動小数点数。値が INT_MIN ... INT_MAX の範囲外の場合、結果は未定義である。

◆ cvCeil() [2/3]

int cvCeil ( float value)

#include <opencv2/core/fast_math.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ cvCeil() [3/3]

int cvCeil ( int value)

#include <opencv2/core/fast_math.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ cvFloor() [1/3]

int cvFloor ( double value)

#include <opencv2/core/fast_math.hpp>

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

この関数は、次を満たす整数 i を計算する:

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

引数
value浮動小数点数。値が INT_MIN ... INT_MAX の範囲外の場合、結果は未定義である。

◆ cvFloor() [2/3]

int cvFloor ( float value)

#include <opencv2/core/fast_math.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ cvFloor() [3/3]

int cvFloor ( int value)

#include <opencv2/core/fast_math.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ cvIsInf() [1/2]

int cvIsInf ( double value)

#include <opencv2/core/fast_math.hpp>

引数が無限大(Infinity)かどうかを判定する。

引数
value入力する浮動小数点値

この関数は、引数が正または負の無限大(IEEE754規格で定義されるもの)である場合に1を、そうでない場合に0を返す。

◆ cvIsInf() [2/2]

int cvIsInf ( float value)

#include <opencv2/core/fast_math.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ cvIsNaN() [1/2]

int cvIsNaN ( double value)

#include <opencv2/core/fast_math.hpp>

引数が非数(NaN)かどうかを判定する。

引数
value入力する浮動小数点値

この関数は、引数が非数(NaN, IEEE754規格で定義されるもの)である場合に1を、そうでない場合に0を返す。

◆ cvIsNaN() [2/2]

int cvIsNaN ( float value)

#include <opencv2/core/fast_math.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ cvRound() [1/3]

int cvRound ( double value)

◆ cvRound() [2/3]

int cvRound ( float value)

#include <opencv2/core/fast_math.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ cvRound() [3/3]

int cvRound ( int value)

#include <opencv2/core/fast_math.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ divUp() [1/2]

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

#include <opencv2/core/utility.hpp>

結果を切り上げる整数除算。

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

参照
alignSize

◆ divUp() [2/2]

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

#include <opencv2/core/utility.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ dumpBool()

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

◆ dumpCString()

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

#include <opencv2/core/bindings_utils.hpp>

この関数の呼び出しグラフ:

◆ dumpDouble()

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

#include <opencv2/core/bindings_utils.hpp>

この関数の呼び出しグラフ:

◆ dumpFloat()

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

#include <opencv2/core/bindings_utils.hpp>

この関数の呼び出しグラフ:

◆ dumpInputArray()

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

◆ dumpInputArrayOfArrays()

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

◆ dumpInputOutputArray()

String cv::utils::dumpInputOutputArray ( InputOutputArray argument)
Python:
cv.utils.dumpInputOutputArray(argument) -> retval, argument

◆ dumpInputOutputArrayOfArrays()

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

◆ dumpInt()

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

#include <opencv2/core/bindings_utils.hpp>

この関数の呼び出しグラフ:

◆ dumpInt64()

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

◆ dumpRange()

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

#include <opencv2/core/bindings_utils.hpp>

この関数の呼び出しグラフ:

◆ dumpRect()

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

#include <opencv2/core/bindings_utils.hpp>

この関数の呼び出しグラフ:

◆ dumpRotatedRect()

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

#include <opencv2/core/bindings_utils.hpp>

この関数の呼び出しグラフ:

◆ dumpSizeT()

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

◆ dumpString()

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

#include <opencv2/core/bindings_utils.hpp>

この関数の呼び出しグラフ:

◆ dumpTermCriteria()

static String cv::utils::dumpTermCriteria ( const TermCriteria & argument)
inlinestatic
Python:
cv.utils.dumpTermCriteria(argument) -> 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発生した例外。
非推奨Deprecated
このバージョンは廃止する

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

2次元ベクトルの角度を度単位で計算する。

関数 fastAtan2 は、入力された2次元ベクトルの全範囲の角度を計算する。角度は度単位で計測され、0度から360度まで変化する。精度はおよそ0.3度である。

引数
xベクトルの x 座標。
yベクトルの y 座標。

◆ fastFree()

void cv::fastFree ( void * ptr)

#include <opencv2/core/cvstd.hpp>

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

この関数は fastMalloc で確保されたバッファを解放する。NULLポインタが渡された場合、関数は何もしない。この関数のCバージョンは、二重のメモリ解放による問題を避けるためにポインタ pptr をクリアする。

引数
ptr確保されたバッファへのポインタ。

◆ fastMalloc()

void * cv::fastMalloc ( size_t bufSize)

#include <opencv2/core/cvstd.hpp>

アライメントされたメモリバッファを確保する。

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

引数
bufSize確保されたバッファのサイズ。

◆ forEach_impl()

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

#include <opencv2/core/mat.hpp>

idx は this->rowCall 内で変更される

この関数の呼び出しグラフ:

◆ format()

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

#include <opencv2/core/operations.hpp>

printf形式の式を使ってフォーマットしたテキスト文字列を返す。

この関数は sprintf のように動作するが、STLの文字列を生成して返す。Exception のコンストラクタに渡すエラーメッセージの生成に使用できる。

引数
fmtprintf互換の書式指定子。

注意**:

Type Specifier
const char* s
char c
float / double f,g
int, long, long long d, ld, `lld
unsigned, unsigned long, unsigned long long u, lu, llu
uint64 -> uintmax_t, int64 -> intmax_t ju, jd
size_t zu

◆ getBuildInformation()

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

#include <opencv2/core/utility.hpp>

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

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

◆ getCPUFeaturesLine()

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

#include <opencv2/core/utility.hpp>

コンパイル時に有効化されたCPU機能の一覧を返す。

返される値は、CPU機能を空白区切りで並べた文字列であり、次のマーカーが付く:

  • マーカーなし - ベースライン機能
  • 接頭辞 * - ディスパッチャで有効化された機能
  • 接尾辞 ? - 有効化されているがハードウェアでは利用できない機能

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

◆ getCPUTickCount()

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

#include <opencv2/core/utility.hpp>

CPUのティック数を返す。

この関数は、一部のアーキテクチャ(x86、x64、PowerPCなど)において、現在のCPUティック数を返す。それ以外のプラットフォームでは、この関数は getTickCount と等価である。非常に正確な時間計測や、RNG の初期化にも使用できる。なお、マルチCPUシステムの場合、getCPUTickCount を呼び出したスレッドが一時停止され、別のCPU(独自のカウンタを持つ)で再開されることがある。したがって、理論上(そして実際上)、この関数を続けて呼び出しても、必ずしも単調増加する値が返るとは限らない。また、現代のCPUは負荷に応じてCPU周波数を変化させるため、あるコードで消費されたCPUクロック数を直接時間単位に変換することはできない。したがって、実行時間の計測には一般に getTickCount の方が望ましい解決策である。

◆ getDefaultAlgorithmHint()

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

#include <opencv2/core/utility.hpp>

OpenCVのコンパイル時に定義されたAlgorithmHintを返す。ALGO_HINT_DEFAULT の挙動を定義する。

◆ getElemSize()

static size_t cv::getElemSize ( int type)
inlinestatic

◆ getHardwareFeatureName()

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

#include <opencv2/core/utility.hpp>

IDから機能名を返す。

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

◆ getNumberOfCPUs()

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

#include <opencv2/core/utility.hpp>

プロセスが利用可能な論理CPU数を返す。

◆ getNumThreads()

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

#include <opencv2/core/utility.hpp>

OpenCVが並列領域で使用するスレッド数を返す。

OpenCVがスレッドサポートなしでビルドされている場合は常に1を返す。

戻り値の正確な意味は、OpenCVライブラリが使用するスレッドフレームワークに依存する:

  • TBB - OpenCVが並列領域で使用しようとするスレッド数。OpenCVと競合する tbb::thread_scheduler_init がユーザーコード内に存在する場合、この関数はTBBライブラリが使用するデフォルトのスレッド数を返す。
  • OpenMP - 新しいチームを形成するために使用できるスレッド数の上限。
  • Concurrency - OpenCVが並列領域で使用しようとするスレッド数。
  • GCD - 未サポート。互換性のためにGCDスレッドプールの上限値(512)を返す。
  • C= - The number of threads, that OpenCV will try to use for parallel regions, if before called setNumThreads with threads > 0, otherwise returns the number of logical CPUs, available for the process.
    参照
    setNumThreads, getThreadNum

◆ getThreadNum()

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

#include <opencv2/core/utility.hpp>

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

非推奨Deprecated
現在の実装はこのドキュメントの内容と一致していない。

戻り値の正確な意味は、OpenCVライブラリが使用するスレッドフレームワークに依存する:

  • TBB - 現在の4.1 TBBリリースでは未サポート。将来サポートされる可能性がある。
  • OpenMP - 現在のチーム内における、呼び出し元スレッドのスレッド番号。
  • Concurrency - 現在のコンテキストが実行されている仮想プロセッサのID(マスタースレッドでは0、その他では一意の番号となるが、必ずしも1,2,3,...とは限らない)。
  • GCD - システムが呼び出すスレッドのID。並列領域内では決して0を返さない。
  • C= - The index of the current parallel task.
    参照
    setNumThreads, getNumThreads

◆ getTickCount()

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

#include <opencv2/core/utility.hpp>

ティック数を返す。

この関数は、ある特定のイベント(たとえばマシンの電源投入時)以降のティック数を返す。RNG の初期化や、関数呼び出しの前後でティック数を読み取ることによる関数実行時間の計測に使用できる。

参照
getTickFrequency, TickMeter

◆ getTickFrequency()

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

#include <opencv2/core/utility.hpp>

1秒あたりのティック数を返す。

この関数は1秒あたりのティック数を返す。すなわち、次のコードは実行時間を秒単位で計算する:

double t = (double)getTickCount();
// do something ...
t = ((double)getTickCount() - t)/getTickFrequency();
double getTickFrequency()
Returns the number of ticks per second.
int64 getTickCount()
Returns the number of ticks.
参照
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ファイル検索パターン。*(複数文字にマッチ)や ?(1文字にマッチ)などのワイルドカードを含めることができる。
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)>(...)

覚え書き
Alignment(N) は2のべき乗(2**k、2^k)でなければならない

◆ isAligned() [2/5]

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

#include <opencv2/core/utility.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

この関数の呼び出しグラフ:

◆ isAligned() [3/5]

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

#include <opencv2/core/utility.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

この関数の呼び出しグラフ:

◆ isAligned() [4/5]

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

#include <opencv2/core/utility.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

この関数の呼び出しグラフ:

◆ isAligned() [5/5]

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

#include <opencv2/core/utility.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

この関数の呼び出しグラフ:

◆ LU() [1/2]

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

#include <opencv2/core/base.hpp>

hal::LU のプロキシ

◆ LU() [2/2]

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

#include <opencv2/core/base.hpp>

hal::LU のプロキシ

◆ normInf() [1/2]

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

◆ normInf() [2/2]

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

#include <opencv2/core/base.hpp>

この関数の呼び出しグラフ:

◆ normL1() [1/4]

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

◆ normL1() [2/4]

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

#include <opencv2/core/base.hpp>

この関数の呼び出しグラフ:

◆ normL1() [3/4]

float cv::normL1 ( const float * a,
const float * b,
int n )
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 & out,
const TickMeter & tm )
inlinestatic

#include <opencv2/core/utility.hpp>

出力演算子

tm.start();
// do something ...
tm.stop();
std::cout << tm;
a Class to measure passing time.
Definition utility.hpp:326
void start()
starts counting ticks.
Definition utility.hpp:335
void stop()
stops counting ticks.
Definition utility.hpp:341
この関数の呼び出しグラフ:

◆ redirectError()

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

#include <opencv2/core/utility.hpp>

新しいエラーハンドラと省略可能なユーザーデータを設定する。

この関数は、cv::error() から呼び出される新しいエラーハンドラを設定する。

引数
errCallback新しいエラーハンドラ。NULL の場合、デフォルトのエラーハンドラが使用される。
userdataコールバックに渡される、省略可能なユーザーデータポインタ。
prevUserdata以前のユーザーデータポインタが格納される、省略可能な出力パラメータ。
戻り値
直前のエラーハンドラ

◆ roundUp() [1/2]

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

#include <opencv2/core/utility.hpp>

1つ目の値を2つ目の値の最も近い倍数へ切り上げる。

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

参照
divUp

◆ roundUp() [2/2]

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

#include <opencv2/core/utility.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [1/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [2/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [3/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

この関数の呼び出しグラフ:

◆ saturate_cast() [4/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [5/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [6/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [7/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [8/11]

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

#include <opencv2/core/saturate.hpp>

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

関数 saturate_cast は、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 uchar
Definition interface.h:51
uchar saturate_cast< uchar >(schar v)
Definition saturate.hpp:101
short saturate_cast< short >(ushort v)
Definition saturate.hpp:130

このようなクリッピングは、ターゲット型が unsigned char 、signed char 、unsigned short 、signed short の場合に行われる。32ビット整数の場合、クリッピングは行われない。

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

引数
v関数の引数。
参照
add, subtract, multiply, divide, Mat::convertTo

◆ saturate_cast() [9/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [10/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ saturate_cast() [11/11]

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

#include <opencv2/core/saturate.hpp>

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

break-on-error モードを設定/解除する。

break-on-error モードが設定されている場合、デフォルトのエラーハンドラはハードウェア例外を発生させ、デバッグをより容易にできる。

戻り値
直前の状態
samples/cpp/stitching_detailed.cpp.

◆ setNumThreads()

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

#include <opencv2/core/utility.hpp>

OpenCVは後続の並列領域に対してスレッド数を設定しようとする。

threads == 1 の場合、OpenCVはスレッド最適化を無効にし、すべての関数を逐次実行する。threads < 0 を渡すとスレッド数がシステムのデフォルトにリセットされる。この関数はスレッドセーフではない。並列領域や複数の同時スレッドから呼び出してはならない。

OpenCVは指定されたスレッド数で関数を実行しようとするが、一部の挙動はフレームワークによって異なる:

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

◆ setUseOptimized()

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

#include <opencv2/core/utility.hpp>

最適化コードを有効化または無効化する。

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

デフォルトでは、CMakeで無効にしない限り最適化コードは有効である。現在の状態はuseOptimizedを使って取得できる。

引数
onoff最適化されたコードを使用するか(onoff=true)しないか(onoff=false)を指定するブールフラグ。

◆ tempfile()

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

#include <opencv2/core/utility.hpp>

一意の一時ファイル名を生成する。

この関数は一時ファイル用の完全で一意なファイルパスを生成する。これは様々な目的で一時ファイルを作成するために使用できる。

引数
suffix(省略可能)一時ファイルに付与する拡張子またはサフィックス(例: ".png", ".txt")。サフィックスが指定されない場合(suffix = 0)、ファイルは特定の拡張子を持たない。
戻り値
cv::String 一時ファイル用の完全で一意なパス。
覚え書き
  • この関数はファイルを作成せず、名前を生成するだけである。
  • ファイル名はシステムセッション内で一意である。
  • クロスプラットフォーム(Windows、Linux、macOS)で動作する。

◆ terminate()

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

#include <opencv2/core/base.hpp>

エラーを通知してアプリケーションを終了する。

デフォルトでは、この関数はエラーに関する情報をstderrに出力し、その後std::terminateでアプリケーションを終了する。この関数はnoexcept属性を持つ関数やメソッドにおける不変条件のチェック用に設計されている。

引数
code- エラーコード (Error::Code)
err- エラーの説明
func- 関数名。コンパイラが取得をサポートしている場合のみ利用可能
file- エラーが発生したソースファイル名
line- エラーが発生したソースファイル中の行番号
参照
CV_AssertTerminate

◆ useOptimized()

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

#include <opencv2/core/utility.hpp>

最適化コードの使用状況を返す。

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