45 #ifndef OPENCV_CORE_C_H
46 #define OPENCV_CORE_C_H
48 #include "opencv2/core/types_c.h"
58 # if defined(__clang__)
60 # pragma GCC diagnostic ignored "-Wreturn-type-c-linkage"
61 # elif defined(_MSC_VER)
63 # pragma warning(disable:4190)
91 CVAPI(
void) cvFree_(
void* ptr );
92 #define cvFree(ptr) (cvFree_(*(ptr)), *(ptr)=0)
223 #define CV_AUTOSTEP 0x7fffffff
361 #define cvGetSubArr cvGetSubRect
385 return cvGetRows(
arr,
submat, row, row + 1, 1 );
411 return cvGetCols(
arr,
submat, col, col + 1 );
566 #define CV_MAX_ARR 10
581 #define CV_NO_DEPTH_CHECK 1
582 #define CV_NO_CN_CHECK 2
583 #define CV_NO_SIZE_CHECK 4
839 #define cvReshapeND( arr, header, new_cn, new_dims, new_sizes ) \
840 cvReshapeMatND( (arr), sizeof(*(header)), (header), \
841 (new_cn), (new_dims), (new_sizes))
983 #define cvZero cvSetZero
1024 #define cvCvtScale cvConvertScale
1025 #define cvScale cvConvertScale
1026 #define cvConvert( src, dst ) cvConvertScale( (src), (dst), 1, 0 )
1037 #define cvCvtScaleAbs cvConvertScaleAbs
1090 #define cvAXPY( A, real_scalar, B, C ) cvScaleAdd(A, cvRealScalar(real_scalar), B, C)
1179 #define cvAbs( src, dst ) cvAbsDiffS( (src), (dst), cvScalarAll(0))
1218 #define CV_CHECK_RANGE 1
1219 #define CV_CHECK_QUIET 2
1226 #define cvCheckArray cvCheckArr
1228 #define CV_RAND_UNI 0
1229 #define CV_RAND_NORMAL 1
1253 #define CV_SORT_EVERY_ROW 0
1254 #define CV_SORT_EVERY_COLUMN 1
1255 #define CV_SORT_ASCENDING 0
1256 #define CV_SORT_DESCENDING 16
1286 #define cvMatMulAdd( src1, src2, src3, dst ) cvGEMM( (src1), (src2), 1., (src3), 1., (dst), 0 )
1287 #define cvMatMul( src1, src2, dst ) cvMatMulAdd( (src1), (src2), NULL, (dst))
1289 #define CV_GEMM_A_T 1
1290 #define CV_GEMM_B_T 2
1291 #define CV_GEMM_C_T 4
1297 #define cvMatMulAddEx cvGEMM
1304 #define cvMatMulAddS cvTransform
1317 #define cvT cvTranspose
1327 #define cvMirror cvFlip
1330 #define CV_SVD_MODIFY_A 1
1331 #define CV_SVD_U_T 2
1332 #define CV_SVD_V_T 4
1346 #define CV_SVD_SYM 2
1347 #define CV_CHOLESKY 3
1349 #define CV_NORMAL 16
1354 #define cvInv cvInvert
1390 #define CV_COVAR_SCRAMBLED 0
1393 #define CV_COVAR_NORMAL 1
1397 #define CV_COVAR_USE_AVG 2
1400 #define CV_COVAR_SCALE 4
1403 #define CV_COVAR_ROWS 8
1406 #define CV_COVAR_COLS 16
1416 #define CV_PCA_DATA_AS_ROW 0
1417 #define CV_PCA_DATA_AS_COL 1
1418 #define CV_PCA_USE_AVG 2
1430 #define cvMahalonobis cvMahalanobis
1462 #define CV_NORM_MASK 7
1463 #define CV_RELATIVE 8
1465 #define CV_MINMAX 32
1467 #define CV_DIFF_C (CV_DIFF | CV_C)
1468 #define CV_DIFF_L1 (CV_DIFF | CV_L1)
1469 #define CV_DIFF_L2 (CV_DIFF | CV_L2)
1470 #define CV_RELATIVE_C (CV_RELATIVE | CV_C)
1471 #define CV_RELATIVE_L1 (CV_RELATIVE | CV_L1)
1472 #define CV_RELATIVE_L2 (CV_RELATIVE | CV_L2)
1492 #define CV_REDUCE_SUM 0
1493 #define CV_REDUCE_AVG 1
1494 #define CV_REDUCE_MAX 2
1495 #define CV_REDUCE_MIN 3
1510 #define CV_DXT_FORWARD 0
1511 #define CV_DXT_INVERSE 1
1512 #define CV_DXT_SCALE 2
1513 #define CV_DXT_INV_SCALE (CV_DXT_INVERSE + CV_DXT_SCALE)
1514 #define CV_DXT_INVERSE_SCALE CV_DXT_INV_SCALE
1515 #define CV_DXT_ROWS 4
1516 #define CV_DXT_MUL_CONJ 8
1536 CVAPI(
int) cvGetOptimalDFTSize(
int size0 );
1745 set_header->free_elems =
elem->next_free;
1747 set_header->active_count++;
1750 cvSetAdd( set_header, NULL, &
elem );
1758 assert( _elem->flags >= 0 );
1759 _elem->next_free = set_header->free_elems;
1761 set_header->free_elems = _elem;
1762 set_header->active_count--;
1818 #define cvGraphFindEdge cvFindGraphEdge
1819 #define cvGraphFindEdgeByPtr cvFindGraphEdgeByPtr
1831 #define cvGetGraphVtx( graph, idx ) (CvGraphVtx*)cvGetSetElem((CvSet*)(graph), (idx))
1834 #define cvGraphVtxIdx( graph, vtx ) ((vtx)->flags & CV_SET_ELEM_IDX_MASK)
1837 #define cvGraphEdgeIdx( graph, edge ) ((edge)->flags & CV_SET_ELEM_IDX_MASK)
1839 #define cvGraphGetVtxCount( graph ) ((graph)->active_count)
1840 #define cvGraphGetEdgeCount( graph ) ((graph)->edges->active_count)
1842 #define CV_GRAPH_VERTEX 1
1843 #define CV_GRAPH_TREE_EDGE 2
1844 #define CV_GRAPH_BACK_EDGE 4
1845 #define CV_GRAPH_FORWARD_EDGE 8
1846 #define CV_GRAPH_CROSS_EDGE 16
1847 #define CV_GRAPH_ANY_EDGE 30
1848 #define CV_GRAPH_NEW_TREE 32
1849 #define CV_GRAPH_BACKTRACKING 64
1850 #define CV_GRAPH_OVER -1
1852 #define CV_GRAPH_ALL_ITEMS -1
1855 #define CV_GRAPH_ITEM_VISITED_FLAG (1 << 30)
1856 #define CV_IS_GRAPH_VERTEX_VISITED(vtx) \
1857 (((CvGraphVtx*)(vtx))->flags & CV_GRAPH_ITEM_VISITED_FLAG)
1858 #define CV_IS_GRAPH_EDGE_VISITED(edge) \
1859 (((CvGraphEdge*)(edge))->flags & CV_GRAPH_ITEM_VISITED_FLAG)
1860 #define CV_GRAPH_SEARCH_TREE_NODE_FLAG (1 << 29)
1861 #define CV_GRAPH_FORWARD_EDGE_FLAG (1 << 28)
1916 CVAPI(
void) cvRemoveNodeFromTree(
void* node,
void*
frame );
1925 #define CV_KMEANS_USE_INITIAL_LABELS 1
1936 CVAPI(
int) cvUseOptimized(
int on_off );
1939 (
int,
int,
int,
char*,
char*,
int,
int,
int,
int,
int,
1968 #define CV_TURN_ON_IPL_COMPATIBILITY() \
1969 cvSetIPLAllocators( iplCreateImageHeader, iplAllocateImage, \
1970 iplDeallocate, iplCreateROI, iplCloneImage )
2008 CVAPI(
void) cvReleaseFileStorage( CvFileStorage** fs );
2011 CVAPI(
const char*) cvAttrValue(
const CvAttrList* attr,
const char* attr_name );
2039 CVAPI(
void) cvStartWriteStruct( CvFileStorage* fs,
const char* name,
2040 int struct_flags,
const char* type_name
CV_DEFAULT(NULL),
2041 CvAttrList attributes
CV_DEFAULT(cvAttrList()));
2047 CVAPI(
void) cvEndWriteStruct( CvFileStorage* fs );
2057 CVAPI(
void) cvWriteInt( CvFileStorage* fs,
const char* name,
int value );
2084 CVAPI(
void) cvWriteReal( CvFileStorage* fs,
const char* name,
double value );
2097 CVAPI(
void) cvWriteString( CvFileStorage* fs,
const char* name,
2109 CVAPI(
void) cvWriteComment( CvFileStorage* fs,
const char* comment,
2157 CVAPI(
void) cvWrite( CvFileStorage* fs,
const char* name,
const void* ptr,
2158 CvAttrList attributes
CV_DEFAULT(cvAttrList()));
2184 CVAPI(
void) cvStartNextStream( CvFileStorage* fs );
2197 CVAPI(
void) cvWriteRawData( CvFileStorage* fs,
const void* src,
2198 int len,
const char* dt );
2214 CVAPI(
void) cvWriteRawDataBase64( CvFileStorage* fs,
const void* src,
2215 int len,
const char* dt );
2285 CVAPI(CvStringHashNode*) cvGetHashedKey( CvFileStorage* fs,
const char* name,
2300 CVAPI(CvFileNode*) cvGetRootFileNode(
const CvFileStorage* fs,
2313 CVAPI(CvFileNode*) cvGetFileNode( CvFileStorage* fs, CvFileNode* map,
2314 const CvStringHashNode* key,
2329 CVAPI(CvFileNode*) cvGetFileNodeByName(
const CvFileStorage* fs,
2330 const CvFileNode* map,
2345 return !node ? default_value :
2346 CV_NODE_IS_INT(node->tag) ? node->data.i :
2347 CV_NODE_IS_REAL(node->tag) ?
cvRound(node->data.f) : 0x7fffffff;
2358 CV_INLINE int cvReadIntByName(
const CvFileStorage* fs,
const CvFileNode* map,
2359 const char* name,
int default_value
CV_DEFAULT(0) )
2361 return cvReadInt( cvGetFileNodeByName( fs, map, name ), default_value );
2374 CV_INLINE double cvReadReal(
const CvFileNode* node,
double default_value
CV_DEFAULT(0.) )
2376 return !node ? default_value :
2377 CV_NODE_IS_INT(node->tag) ? (double)node->data.i :
2378 CV_NODE_IS_REAL(node->tag) ? node->data.f : 1e300;
2389 CV_INLINE double cvReadRealByName(
const CvFileStorage* fs,
const CvFileNode* map,
2390 const char* name,
double default_value
CV_DEFAULT(0.) )
2392 return cvReadReal( cvGetFileNodeByName( fs, map, name ), default_value );
2404 CV_INLINE const char* cvReadString(
const CvFileNode* node,
2407 return !node ? default_value : CV_NODE_IS_STRING(node->tag) ? node->data.str.ptr : 0;
2418 CV_INLINE const char* cvReadStringByName(
const CvFileStorage* fs,
const CvFileNode* map,
2419 const char* name,
const char* default_value
CV_DEFAULT(NULL) )
2421 return cvReadString( cvGetFileNodeByName( fs, map, name ), default_value );
2439 CVAPI(
void*) cvRead( CvFileStorage* fs, CvFileNode* node,
2450 CV_INLINE void* cvReadByName( CvFileStorage* fs,
const CvFileNode* map,
2451 const char* name, CvAttrList* attributes
CV_DEFAULT(NULL) )
2453 return cvRead( fs, cvGetFileNodeByName( fs, map, name ), attributes );
2465 CVAPI(
void) cvStartReadRawData(
const CvFileStorage* fs,
const CvFileNode* src,
2482 int count,
void*
dst,
const char* dt );
2492 CVAPI(
void) cvReadRawData(
const CvFileStorage* fs,
const CvFileNode* src,
2493 void*
dst,
const char* dt );
2508 CVAPI(
void) cvWriteFileNode( CvFileStorage* fs,
const char* new_node_name,
2509 const CvFileNode* node,
int embed );
2517 CVAPI(
const char*) cvGetFileNodeName(
const CvFileNode* node );
2527 CVAPI(
void) cvRegisterType(
const CvTypeInfo* info );
2536 CVAPI(
void) cvUnregisterType(
const char* type_name );
2543 CVAPI(CvTypeInfo*) cvFirstType(
void);
2551 CVAPI(CvTypeInfo*) cvFindType(
const char* type_name );
2561 CVAPI(CvTypeInfo*) cvTypeOf(
const void* struct_ptr );
2570 CVAPI(
void) cvRelease(
void** struct_ptr );
2579 CVAPI(
void*) cvClone(
const void* struct_ptr );
2586 CVAPI(
double) cvGetTickFrequency(
void );
2590 CVAPI(
int) cvCheckHardwareSupport(
int feature);
2595 CVAPI(
int) cvGetNumThreads(
void );
2598 CVAPI(
int) cvGetThreadNum(
void );
2604 CVAPI(
int) cvGetErrStatus(
void );
2607 CVAPI(
void) cvSetErrStatus(
int status );
2609 #define CV_ErrModeLeaf 0
2610 #define CV_ErrModeParent 1
2611 #define CV_ErrModeSilent 2
2614 CVAPI(
int) cvGetErrMode(
void );
2617 CVAPI(
int) cvSetErrMode(
int mode );
2626 CVAPI(
const char*) cvErrorStr(
int status );
2633 CVAPI(
int) cvErrorFromIppStatus(
int ipp_status );
2655 #define OPENCV_ERROR(status,func,context) \
2656 cvError((status),(func),(context),__FILE__,__LINE__)
2658 #define OPENCV_ASSERT(expr,func,context) \
2660 {OPENCV_ERROR(CV_StsInternal,(func),(context));}}
2662 #define OPENCV_CALL( Func ) \
2669 #ifdef CV_NO_FUNC_NAMES
2670 #define CV_FUNCNAME( Name )
2671 #define cvFuncName ""
2673 #define CV_FUNCNAME( Name ) \
2674 static char cvFuncName[] = Name
2682 #define CV_ERROR( Code, Msg ) \
2684 cvError( (Code), cvFuncName, Msg, __FILE__, __LINE__ ); \
2693 #define CV_CHECK() \
2695 if( cvGetErrStatus() < 0 ) \
2696 CV_ERROR( CV_StsBackTrace, "Inner function failed." ); \
2705 #define CV_CALL( Func ) \
2713 #define CV_ASSERT( Condition ) \
2715 if( !(Condition) ) \
2716 CV_ERROR( CV_StsInternal, "Assertion: " #Condition " failed" ); \
2719 #define __CV_BEGIN__ {
2720 #define __CV_END__ goto exit; exit: ; }
2721 #define __CV_EXIT__ goto exit
2731 #include "opencv2/core/utility.hpp"
2743 bool allowND=
true,
int coiMode=0,
2744 AutoBuffer<double>* buf=0);
2746 static inline Mat cvarrToMatND(
const CvArr*
arr,
bool copyData=
false,
int coiMode=0)
2748 return cvarrToMat(
arr, copyData,
true, coiMode);
2769 template<
typename _Tp>
class SeqIterator;
2771 typedef Ptr<CvMemStorage> MemStorage;
2783 template<
typename _Tp>
class Seq
2786 typedef SeqIterator<_Tp> iterator;
2787 typedef SeqIterator<_Tp> const_iterator;
2794 Seq(MemStorage&
storage,
int headerSize =
sizeof(
CvSeq));
2796 _Tp& operator [](
int idx);
2798 const _Tp& operator[](
int idx)
const;
2800 SeqIterator<_Tp>
begin()
const;
2802 SeqIterator<_Tp>
end()
const;
2804 size_t size()
const;
2812 size_t elemSize()
const;
2816 void push_back(
const _Tp&
elem);
2818 void push_front(
const _Tp&
elem);
2820 void push_back(
const _Tp* elems,
size_t count);
2822 void push_front(
const _Tp* elems,
size_t count);
2824 void insert(
int idx,
const _Tp&
elem);
2826 void insert(
int idx,
const _Tp* elems,
size_t count);
2835 const _Tp& front()
const;
2839 const _Tp& back()
const;
2850 void pop_front(_Tp* elems,
size_t count);
2852 void pop_back(_Tp* elems,
size_t count);
2866 template<
typename _Tp>
class SeqIterator :
public CvSeqReader
2872 SeqIterator(
const Seq<_Tp>&
seq,
bool seekEnd=
false);
2874 void seek(
size_t pos);
2876 size_t tell()
const;
2882 SeqIterator& operator ++();
2884 SeqIterator operator ++(
int)
const;
2886 SeqIterator& operator --();
2888 SeqIterator operator --(
int)
const;
2908 int count,
int in_front=0 );
2915 template<
typename _Tp>
inline Seq<_Tp>::Seq() :
seq(0) {}
2916 template<
typename _Tp>
inline Seq<_Tp>::Seq(
const CvSeq* _seq ) :
seq((
CvSeq*)_seq)
2918 CV_Assert(!_seq || _seq->elem_size ==
sizeof(_Tp));
2921 template<
typename _Tp>
inline Seq<_Tp>::Seq( MemStorage&
storage,
2928 template<
typename _Tp>
inline _Tp& Seq<_Tp>::operator [](
int idx)
2929 {
return *(_Tp*)getSeqElem(
seq,
idx); }
2931 template<
typename _Tp>
inline const _Tp& Seq<_Tp>::operator [](
int idx)
const
2932 {
return *(_Tp*)getSeqElem(
seq,
idx); }
2934 template<
typename _Tp>
inline SeqIterator<_Tp> Seq<_Tp>::begin()
const
2935 {
return SeqIterator<_Tp>(*
this); }
2937 template<
typename _Tp>
inline SeqIterator<_Tp>
Seq<_Tp>::end()
const
2938 {
return SeqIterator<_Tp>(*
this,
true); }
2941 {
return seq ?
seq->total : 0; }
2952 template<
typename _Tp>
inline size_t Seq<_Tp>::elemSize()
const
2953 {
return seq ?
seq->elem_size : 0; }
2956 {
return cvSeqElemIdx(
seq, &
elem); }
2958 template<
typename _Tp>
inline void Seq<_Tp>::push_back(
const _Tp&
elem)
2961 template<
typename _Tp>
inline void Seq<_Tp>::push_front(
const _Tp&
elem)
2962 { cvSeqPushFront(
seq, &
elem); }
2964 template<
typename _Tp>
inline void Seq<_Tp>::push_back(
const _Tp*
elem,
size_t count)
2967 template<
typename _Tp>
inline void Seq<_Tp>::push_front(
const _Tp*
elem,
size_t count)
2970 template<
typename _Tp>
inline _Tp& Seq<_Tp>::back()
2971 {
return *(_Tp*)getSeqElem(
seq, -1); }
2973 template<
typename _Tp>
inline const _Tp& Seq<_Tp>::back()
const
2974 {
return *(
const _Tp*)getSeqElem(
seq, -1); }
2976 template<
typename _Tp>
inline _Tp& Seq<_Tp>::front()
2977 {
return *(_Tp*)getSeqElem(
seq, 0); }
2979 template<
typename _Tp>
inline const _Tp& Seq<_Tp>::front()
const
2980 {
return *(
const _Tp*)getSeqElem(
seq, 0); }
2982 template<
typename _Tp>
inline bool Seq<_Tp>::empty()
const
2983 {
return !
seq ||
seq->total == 0; }
2985 template<
typename _Tp>
inline void Seq<_Tp>::clear()
2986 {
if(
seq) clearSeq(
seq); }
2988 template<
typename _Tp>
inline void Seq<_Tp>::pop_back()
2991 template<
typename _Tp>
inline void Seq<_Tp>::pop_front()
2992 { seqPopFront(
seq); }
2994 template<
typename _Tp>
inline void Seq<_Tp>::pop_back(_Tp*
elem,
size_t count)
2997 template<
typename _Tp>
inline void Seq<_Tp>::pop_front(_Tp*
elem,
size_t count)
3000 template<
typename _Tp>
inline void Seq<_Tp>::insert(
int idx,
const _Tp&
elem)
3003 template<
typename _Tp>
inline void Seq<_Tp>::insert(
int idx,
const _Tp* elems,
size_t count)
3006 seqInsertSlice(
seq,
idx, &m);
3009 template<
typename _Tp>
inline void Seq<_Tp>::remove(
int idx)
3012 template<
typename _Tp>
inline void Seq<_Tp>::remove(
const Range&
r)
3030 template<
typename _Tp>
inline SeqIterator<_Tp>::SeqIterator()
3031 {
memset(
this, 0,
sizeof(*
this)); }
3033 template<
typename _Tp>
inline SeqIterator<_Tp>::SeqIterator(
const Seq<_Tp>& _seq,
bool seekEnd)
3035 cvStartReadSeq(_seq.seq,
this);
3036 index = seekEnd ? _seq.seq->total : 0;
3039 template<
typename _Tp>
inline void SeqIterator<_Tp>::seek(
size_t pos)
3041 cvSetSeqReaderPos(
this, (
int)
pos,
false);
3045 template<
typename _Tp>
inline size_t SeqIterator<_Tp>::tell()
const
3049 {
return *(_Tp*)ptr; }
3052 {
return *(
const _Tp*)ptr; }
3054 template<
typename _Tp>
inline SeqIterator<_Tp>& SeqIterator<_Tp>::operator ++()
3062 template<
typename _Tp>
inline SeqIterator<_Tp> SeqIterator<_Tp>::operator ++(
int)
const
3064 SeqIterator<_Tp> it = *
this;
3069 template<
typename _Tp>
inline SeqIterator<_Tp>& SeqIterator<_Tp>::operator --()
3077 template<
typename _Tp>
inline SeqIterator<_Tp> SeqIterator<_Tp>::operator --(
int)
const
3079 SeqIterator<_Tp> it = *
this;
3086 cvSetSeqReaderPos(
this,
delta, 1);
3088 int n =
seq->total*2;
3098 return (*
this += -
delta);
3101 template<
typename _Tp>
inline ptrdiff_t
operator - (
const SeqIterator<_Tp>& a,
3102 const SeqIterator<_Tp>& b)
3104 ptrdiff_t
delta = a.index - b.index, n = a.seq->total;
3110 template<
typename _Tp>
inline bool operator == (
const SeqIterator<_Tp>& a,
3111 const SeqIterator<_Tp>& b)
3113 return a.seq == b.seq && a.index == b.index;
3116 template<
typename _Tp>
inline bool operator != (
const SeqIterator<_Tp>& a,
3117 const SeqIterator<_Tp>& b)
CV_EXPORTS MatExpr operator-(const Mat &a, const Mat &b)
CV_EXPORTS MatExpr operator!=(const Mat &a, const Mat &b)
CV_EXPORTS MatExpr operator==(const Mat &a, const Mat &b)
void CV_EXPORTS_W copyTo(InputArray src, OutputArray dst, InputArray mask)
This is an overloaded member function, provided for convenience (python) Copies the matrix to another...
const _OutputArray & OutputArray
Definition: mat.hpp:444
CV__DEBUG_NS_END typedef const _InputArray & InputArray
Definition: mat.hpp:442
const CvArr * angle
Definition: core_c.h:1194
CvMemStorage CvSeq CvCmpFunc is_equal
Definition: core_c.h:1724
int src_count
Definition: core_c.h:999
const CvArr * lower
Definition: core_c.h:1139
void void * frame
Definition: core_c.h:1913
CvGraphVtx CvGraphVtx * end_vtx
Definition: core_c.h:1804
#define CV_GRAPH_ALL_ITEMS
Definition: core_c.h:1852
int rows
Definition: core_c.h:257
CvMat int int end_col
Definition: core_c.h:402
int CvArr int dst_count
Definition: core_c.h:1000
CvMat * roots
Definition: core_c.h:1263
double int default_max_iters
Definition: core_c.h:1046
int sizeof_header
Definition: core_c.h:836
#define cvFree(ptr)
Definition: core_c.h:92
struct CvTreeNodeIterator CvTreeNodeIterator
CvMat * roots2
Definition: core_c.h:1266
int int end_idx
Definition: core_c.h:1799
#define CV_REDUCE_SUM
Definition: core_c.h:1492
CvCmpFunc func
Definition: core_c.h:1712
CvArr int order
Definition: core_c.h:1311
CvMemStorage CvSeq ** labels
Definition: core_c.h:1724
CV_INLINE CvMat cvMat(int rows, int cols, int type, void *data CV_DEFAULT(NULL))
Definition: types_c.h:537
int int int edge_size
Definition: core_c.h:1781
CvGraphVtx * vtx
Definition: core_c.h:1791
size_t size_t CvMemStorage * storage
Definition: core_c.h:1587
int CvScalar value
Definition: core_c.h:720
IplImage *(CV_STDCALL * Cv_iplCloneImage)(const IplImage *)
Definition: core_c.h:1944
uint64 CvRNG
Definition: types_c.h:214
int int void int CvSeq CvSeqBlock * block
Definition: core_c.h:1690
int int idx1
Definition: core_c.h:654
int CvArr int int int * new_sizes
Definition: core_c.h:837
int int void int total
Definition: core_c.h:1689
const CvArr const CvArr const CvArr CvArr int flags
Definition: core_c.h:1342
#define CV_AUTOSTEP
Definition: core_c.h:223
int int channels
Definition: core_c.h:100
const CvArr CvArr int cmp_op
Definition: core_c.h:1157
CvSeqReader * reader
Definition: core_c.h:1668
const void CvCmpFunc int is_sorted
Definition: core_c.h:1716
double * min_val
Definition: core_c.h:1450
CvMat int int end_row
Definition: core_c.h:375
const CvArr const CvArr const CvArr * src3
Definition: core_c.h:994
CvArr int CvScalar CvScalar param2
Definition: core_c.h:1248
double double end
Definition: core_c.h:1381
CvMat * header
Definition: core_c.h:782
int CvArr int const int int pair_count
Definition: core_c.h:1001
CvMat * submat
Definition: core_c.h:360
CvArr CvArr CvArr * eigenvects
Definition: core_c.h:1420
const void * elem
Definition: core_c.h:1715
CvGraphVtx * start_vtx
Definition: core_c.h:1804
CvArr CvArr * evals
Definition: core_c.h:1368
Cv_iplAllocateImageData allocate_data
Definition: core_c.h:1963
CV_INLINE void cvSetRemoveByPtr(CvSet *set_header, void *elem)
Definition: core_c.h:1755
CV_INLINE void cvSubS(const CvArr *src, CvScalar value, CvArr *dst, const CvArr *mask CV_DEFAULT(NULL))
Definition: core_c.h:1065
CvArr * dst
Definition: core_c.h:875
int cols
Definition: core_c.h:221
const void int max_level
Definition: core_c.h:1906
double start
Definition: core_c.h:1381
struct CvGraphScanner CvGraphScanner
CV_INLINE int cvIncRefData(CvArr *arr)
Increments array data reference counter.
Definition: core_c.h:327
CvArr * W
Definition: core_c.h:1335
int int int idx2
Definition: core_c.h:656
CvArr int CvScalar param1
Definition: core_c.h:1248
const CvArr const CvArr * upper
Definition: core_c.h:1140
int delta_elems
Definition: core_c.h:1591
double const CvArr double beta
Definition: core_c.h:1094
CvMat int start_row
Definition: core_c.h:375
size_t header_size
Definition: core_c.h:1586
CvSlice slice
Definition: core_c.h:1693
CvArr int dist_type
Definition: core_c.h:1247
CvRect rect
Definition: core_c.h:193
#define CV_LU
Definition: core_c.h:1344
CvArr CvArr * eigenvals
Definition: core_c.h:1420
Cv_iplAllocateImageData Cv_iplDeallocate deallocate
Definition: core_c.h:1964
const char ** description
Definition: core_c.h:2629
CvArr ** arrs
Definition: core_c.h:588
void(CV_STDCALL * Cv_iplDeallocate)(IplImage *, int)
Definition: core_c.h:1942
const int * idx
Definition: core_c.h:668
int CvArr CvArr * avg
Definition: core_c.h:1414
int const CvArr * from_arr
Definition: core_c.h:1706
int int vtx_size
Definition: core_c.h:1781
void * parent
Definition: core_c.h:1913
CV_INLINE CvSetElem * cvGetSetElem(const CvSet *set_header, int idx)
Definition: core_c.h:1770
const char const char const char int line
Definition: core_c.h:2623
CV_INLINE void cvReleaseMatND(CvMatND **mat)
Deallocates a multi-dimensional array.
Definition: core_c.h:478
CvArr const CvMat * mat
Definition: core_c.h:1308
CVAPI(void *) cvAlloc(size_t size)
Changes the shape of a multi-dimensional array without copying the data.
CvMemStoragePos * pos
Definition: core_c.h:1573
Cv_iplAllocateImageData Cv_iplDeallocate Cv_iplCreateROI Cv_iplCloneImage clone_image
Definition: core_c.h:1966
CV_INLINE void cvDecRefData(CvArr *arr)
Decrements an array data reference counter.
Definition: core_c.h:301
CvScalar CvScalar * std_dev
Definition: core_c.h:1446
int(CV_CDECL * CvErrorCallback)(int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata)
Definition: core_c.h:2635
CvScalar scale
Definition: core_c.h:1088
IplROI *(CV_STDCALL * Cv_iplCreateROI)(int, int, int, int, int)
Definition: core_c.h:1943
CvSparseMatIterator * mat_iterator
Definition: core_c.h:515
const void * first
Definition: core_c.h:1906
int index
Definition: core_c.h:634
const CvArr const CvArr * src2
Definition: core_c.h:994
int coi
Definition: core_c.h:172
const void * element
Definition: core_c.h:1642
CvArr const CvArr CvMatND * stubs
Definition: core_c.h:589
int vtx_idx
Definition: core_c.h:1826
int start_idx
Definition: core_c.h:1799
int CvScalar * scalar
Definition: core_c.h:430
CvArr * dst0
Definition: core_c.h:988
int before_index
Definition: core_c.h:1622
CvSize size
Definition: core_c.h:112
Cv_iplAllocateImageData Cv_iplDeallocate Cv_iplCreateROI create_roi
Definition: core_c.h:1965
CV_INLINE CvSlice cvSlice(int start, int end)
Definition: types_c.h:1344
int direction
Definition: core_c.h:1727
const CvArr * src1
Definition: core_c.h:993
IplImage * image_header
Definition: core_c.h:796
struct _IplTileInfo IplTileInfo
Definition: types_c.h:366
int int type
Definition: core_c.h:221
CvRNG * rng
Definition: core_c.h:1250
#define CV_L2
Definition: core_c.h:1461
double double * max_val
Definition: core_c.h:1450
int count
Definition: core_c.h:1413
int cluster_count
Definition: core_c.h:1926
CvMemStorage CvSeq CvCmpFunc void * userdata
Definition: core_c.h:1724
CV_INLINE CvMat * cvGetRow(const CvArr *arr, CvMat *submat, int row)
Definition: core_c.h:383
CV_INLINE CvScalar cvRealScalar(double val0)
Definition: types_c.h:1440
CvArr * evects
Definition: core_c.h:1368
CV_INLINE CvSeq * cvCloneSeq(const CvSeq *seq, CvMemStorage *storage CV_DEFAULT(NULL))
Definition: core_c.h:1697
#define CV_IS_MATND(mat)
Definition: types_c.h:717
const CvSeq * seq
Definition: core_c.h:1548
#define CV_PREV_SEQ_ELEM(elem_size, reader)
Definition: types_c.h:1915
const CvArr const CvArr const CvArr CvArr * X
Definition: core_c.h:1342
CvArr double power
Definition: core_c.h:1199
const CvArr const CvArr const CvArr * B
Definition: core_c.h:1341
CvSize int int int origin CV_DEFAULT(0)
const char const char * err_msg
Definition: core_c.h:2623
const CvArr * vec2
Definition: core_c.h:1429
double default_eps
Definition: core_c.h:1045
void int step
Definition: core_c.h:905
const CvArr * U
Definition: core_c.h:1340
int CvArr int int new_dims
Definition: core_c.h:837
CvMat int start_col
Definition: core_c.h:402
int(CV_CDECL * CvCmpFunc)(const void *a, const void *b, void *userdata)
Definition: core_c.h:1709
CvSeqWriter * writer
Definition: core_c.h:1646
CvArr const CvArr * mask
Definition: core_c.h:589
#define CV_MAX_ARR
Definition: core_c.h:566
struct CvNArrayIterator CvNArrayIterator
CvArr * arr
Definition: core_c.h:1247
CV_INLINE CvMat * cvGetCol(const CvArr *arr, CvMat *submat, int col)
Definition: core_c.h:409
void(CV_STDCALL * Cv_iplAllocateImageData)(IplImage *, int, int)
Definition: core_c.h:1941
CvArr const CvArr * lut
Definition: core_c.h:1893
#define CV_NEXT_SEQ_ELEM(elem_size, reader)
Definition: types_c.h:1905
void CvArr
This is the "metatype" used only as a function parameter.
Definition: types_c.h:133
CvArr CvArr CvArr CvArr * dst3
Definition: core_c.h:989
CvArr CvArr * dst1
Definition: core_c.h:988
int depth
Definition: core_c.h:100
const char const char ** filename
Definition: core_c.h:2630
void * data
Definition: core_c.h:427
CvArr * mean
Definition: core_c.h:1419
const CvArr CvArr * x
Definition: core_c.h:1195
double const CvArr double double gamma
Definition: core_c.h:1095
double alpha
Definition: core_c.h:1093
CvArr CvArr CvArr * dst2
Definition: core_c.h:989
int CvArr CvTermCriteria termcrit
Definition: core_c.h:1927
CV_INLINE CvSparseNode * cvGetNextSparseNode(CvSparseMatIterator *mat_iterator)
Returns the next sparse matrix element.
Definition: core_c.h:545
int CvArr int const int * from_to
Definition: core_c.h:1001
const CvArr const CvArr * V
Definition: core_c.h:1341
int CvArr * cov_mat
Definition: core_c.h:1414
#define CV_IS_MAT(mat)
Definition: types_c.h:507
const CvArr const CvArr CvArr * result
Definition: core_c.h:1423
const char * func_name
Definition: core_c.h:2622
const CvArr CvArr * magnitude
Definition: core_c.h:1188
const void * elements
Definition: core_c.h:1613
size_t size_t elem_size
Definition: core_c.h:1587
CV_INLINE CvSetElem * cvSetNew(CvSet *set_header)
Definition: core_c.h:1740
const char const char const char * file_name
Definition: core_c.h:2623
int dims
Definition: core_c.h:464
IplImage *(CV_STDCALL * Cv_iplCreateImageHeader)(int, int, int, char *, char *, int, int, int, int, int, IplROI *, IplImage *, void *, IplTileInfo *)
Definition: core_c.h:1939
CV_INLINE CvScalar cvScalar(double val0, double val1 CV_DEFAULT(0), double val2 CV_DEFAULT(0), double val3 CV_DEFAULT(0))
Definition: types_c.h:1401
#define CV_SET_ELEM_IDX_MASK
Definition: types_c.h:1594
int CvArr int new_cn
Definition: core_c.h:837
int idx0
Definition: core_c.h:652
const int * sizes
Definition: core_c.h:440
CvArr const CvArr CvMatND CvNArrayIterator * array_iterator
Definition: core_c.h:590
#define CV_IS_SET_ELEM(ptr)
Definition: types_c.h:1598
#define CV_WHOLE_SEQ
Definition: types_c.h:1318
const void CvCmpFunc int int * elem_idx
Definition: core_c.h:1716
#define CV_SET_ELEM_FREE_FLAG
Definition: types_c.h:1595
CvArr const CvMat * transmat
Definition: core_c.h:1302
const CvArr * y
Definition: core_c.h:1187
signed char schar
Definition: interface.h:48
#define CV_MAT_DEPTH(flags)
Definition: interface.h:83
unsigned char uchar
Definition: interface.h:51
int64_t int64
Definition: interface.h:61
CV_INLINE v_reg< _Tp, n > operator*(const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
Multiply values.
CV_INLINE v_reg< _Tp, n > & operator-=(v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
CV_INLINE v_reg< _Tp, n > & operator+=(v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
#define CV_EXPORTS
Definition: cvdef.h:435
CV_INLINE int cvRound(double value)
Rounds floating-point number to the nearest integer.
Definition: fast_math.hpp:200
#define CV_STDCALL
Definition: cvdef.h:209
#define CV_MAT_CN(flags)
Definition: cvdef.h:495
#define CV_CDECL
Definition: cvdef.h:208
#define CV_MAX_DIM
Definition: cvdef.h:493
#define CV_MAT_TYPE(flags)
Definition: cvdef.h:497
#define CV_Assert(expr)
Checks a condition at runtime and throws exception if it fails.
Definition: base.hpp:342
#define CV_INLINE
Definition: cvdef.h:218
CvArr int block_size
Definition: imgproc_c.h:877
CvRect r
Definition: imgproc_c.h:984
CvSize int int int CvPoint int delta
Definition: imgproc_c.h:1168
CvArr CvSize range
Definition: imgproc_c.h:781
int CvMemStorage int double eps
Definition: imgproc_c.h:493
const CvArr CvArr int method
Definition: imgproc_c.h:384
CvPoint2D32f int CvSize CvSize CvTermCriteria criteria
Definition: imgproc_c.h:900
"black box" representation of the file storage associated with a file on disk.
Definition: calib3d.hpp:441
DualQuat< T > operator*(const T a, const DualQuat< T > &q)
Definition: dualquaternion.inl.hpp:274
Definition: types_c.h:1635
Definition: core_c.h:1864
CvGraph * graph
Definition: core_c.h:1869
int index
Definition: core_c.h:1871
CvGraphVtx * dst
Definition: core_c.h:1866
int mask
Definition: core_c.h:1872
CvGraphEdge * edge
Definition: core_c.h:1867
CvSeq * stack
Definition: core_c.h:1870
CvGraphVtx * vtx
Definition: core_c.h:1865
Definition: types_c.h:1641
Definition: types_c.h:1662
Definition: types_c.h:674
Definition: types_c.h:455
uchar * ptr
Definition: types_c.h:465
int * refcount
Definition: types_c.h:460
Definition: types_c.h:1498
Definition: types_c.h:1482
int stack[CV_MAX_DIM]
Definition: core_c.h:575
CvSize size
Definition: core_c.h:573
int count
Definition: core_c.h:571
int dims
Definition: core_c.h:572
CvMatND * hdr[CV_MAX_ARR]
Definition: core_c.h:576
uchar * ptr[CV_MAX_ARR]
Definition: core_c.h:574
Definition: types_c.h:935
Definition: types_c.h:832
Definition: types_c.h:1367
double val[4]
Definition: types_c.h:1368
Definition: types_c.h:1508
Definition: types_c.h:1861
Definition: types_c.h:1836
Definition: types_c.h:1558
Definition: types_c.h:1577
Definition: types_c.h:1588
Definition: types_c.h:1158
Definition: types_c.h:1321
Definition: types_c.h:771
CvSparseNode * node
Definition: types_c.h:773
int curidx
Definition: types_c.h:774
CvSparseMat * mat
Definition: types_c.h:772
Definition: types_c.h:731
void ** hashtable
Definition: types_c.h:738
Definition: types_c.h:764
struct CvSparseNode * next
Definition: types_c.h:766
Definition: types_c.h:902
Definition: core_c.h:1898
int level
Definition: core_c.h:1900
int max_level
Definition: core_c.h:1901
const void * node
Definition: core_c.h:1899
Definition: types_c.h:314
Definition: types_c.h:369