OpenCV  4.0.0-rc
Open Source Computer Vision
Modules | Classes | Macros | Typedefs | Enumerations | Functions
C structures and operations

Modules

 Connections with C++
 

Classes

struct  CvBox2D
 
struct  CvChain
 
struct  CvContour
 
struct  CvGraph
 
struct  CvGraphEdge
 
struct  CvGraphScanner
 
struct  CvGraphVtx
 
struct  CvGraphVtx2D
 
struct  CvHistogram
 
struct  CvLineIterator
 
struct  CvMat
 
struct  CvMatND
 
struct  CvMemBlock
 
struct  CvMemStorage
 
struct  CvMemStoragePos
 
struct  CvNArrayIterator
 
struct  CvPoint
 
struct  CvPoint2D32f
 
struct  CvPoint2D64f
 
struct  CvPoint3D32f
 
struct  CvPoint3D64f
 
struct  CvRect
 
struct  CvScalar
 
struct  CvSeq
 
struct  CvSeqBlock
 
struct  CvSeqReader
 
struct  CvSeqWriter
 
struct  CvSet
 
struct  CvSetElem
 
struct  CvSize
 
struct  CvSize2D32f
 
struct  CvSlice
 
struct  CvSparseMat
 
struct  CvSparseMatIterator
 
struct  CvSparseNode
 
struct  CvTermCriteria
 
struct  CvTreeNodeIterator
 
struct  IplConvKernel
 
struct  IplConvKernelFP
 
struct  IplImage
 
struct  IplROI
 

Macros

#define CV_ARE_CNS_EQ(mat1, mat2)   ((((mat1)->type ^ (mat2)->type) & CV_MAT_CN_MASK) == 0)
 
#define CV_ARE_DEPTHS_EQ(mat1, mat2)   ((((mat1)->type ^ (mat2)->type) & CV_MAT_DEPTH_MASK) == 0)
 
#define CV_ARE_SIZES_EQ(mat1, mat2)   ((mat1)->rows == (mat2)->rows && (mat1)->cols == (mat2)->cols)
 
#define CV_ARE_TYPES_EQ(mat1, mat2)   ((((mat1)->type ^ (mat2)->type) & CV_MAT_TYPE_MASK) == 0)
 
#define CV_ASSERT(Condition)
 
#define CV_AUTO_STEP   0x7fffffff
 
#define CV_AUTOSTEP   0x7fffffff
 
#define CV_BACK   0
 
#define CV_CALL(Func)
 
#define CV_CHECK()
 
#define CV_CHECK_QUIET   2
 
#define CV_CHECK_RANGE   1
 
#define CV_CHOLESKY   3
 
#define CV_CMP(a, b)   (((a) > (b)) - ((a) < (b)))
 
#define CV_CMP_EQ   0
 
#define CV_CMP_GE   2
 
#define CV_CMP_GT   1
 
#define CV_CMP_LE   4
 
#define CV_CMP_LT   3
 
#define CV_CMP_NE   5
 
#define CV_CONTOUR_FIELDS()
 
#define CV_CURRENT_POINT(reader)   (*((CvPoint*)((reader).ptr)))
 
#define CV_ErrModeLeaf   0 /* Print error and exit program */
 
#define CV_ErrModeParent   1 /* Print error and continue */
 
#define CV_ErrModeSilent   2 /* Don't print and continue */
 
#define CV_ERROR(Code, Msg)
 
#define CV_FRONT   1
 
#define CV_FUNCNAME(Name)   static char cvFuncName[] = Name
 
#define CV_GEMM_A_T   1
 
#define CV_GEMM_B_T   2
 
#define CV_GEMM_C_T   4
 
#define CV_GET_SEQ_ELEM(elem_type, seq, index)   CV_SEQ_ELEM( (seq), elem_type, (index) )
 
#define CV_GRAPH   CV_SEQ_KIND_GRAPH
 
#define CV_GRAPH_ALL_ITEMS   -1
 
#define CV_GRAPH_ANY_EDGE   30
 
#define CV_GRAPH_BACK_EDGE   4
 
#define CV_GRAPH_BACKTRACKING   64
 
#define CV_GRAPH_CROSS_EDGE   16
 
#define CV_GRAPH_FLAG_ORIENTED   (1 << CV_SEQ_FLAG_SHIFT)
 
#define CV_GRAPH_FORWARD_EDGE   8
 
#define CV_GRAPH_FORWARD_EDGE_FLAG   (1 << 28)
 
#define CV_GRAPH_ITEM_VISITED_FLAG   (1 << 30)
 
#define CV_GRAPH_NEW_TREE   32
 
#define CV_GRAPH_OVER   -1
 
#define CV_GRAPH_SEARCH_TREE_NODE_FLAG   (1 << 29)
 
#define CV_GRAPH_TREE_EDGE   2
 
#define CV_GRAPH_VERTEX   1
 
#define CV_HIST_ARRAY   0
 
#define CV_HIST_HAS_RANGES(hist)   (((hist)->type & CV_HIST_RANGES_FLAG) != 0)
 
#define CV_HIST_MAGIC_VAL   0x42450000
 
#define CV_HIST_RANGES_FLAG   (1 << 11)
 
#define CV_HIST_SPARSE   1
 
#define CV_HIST_TREE   CV_HIST_SPARSE
 
#define CV_HIST_UNIFORM   1
 
#define CV_HIST_UNIFORM_FLAG   (1 << 10)
 
#define CV_IABS(a)   abs(a)
 
#define CV_IMAGE_ELEM(image, elemtype, row, col)   (((elemtype*)((image)->imageData + (image)->widthStep*(row)))[(col)])
 
#define CV_IMAX(a, b)   ((a) ^ (((a)^(b)) & (((a) > (b)) - 1)))
 
#define CV_IMIN(a, b)   ((a) ^ (((a)^(b)) & (((a) < (b)) - 1)))
 
#define CV_IS_GRAPH(seq)   (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_GRAPH)
 
#define CV_IS_GRAPH_EDGE_VISITED(edge)   (((CvGraphEdge*)(edge))->flags & CV_GRAPH_ITEM_VISITED_FLAG)
 
#define CV_IS_GRAPH_ORIENTED(seq)   (((seq)->flags & CV_GRAPH_FLAG_ORIENTED) != 0)
 
#define CV_IS_GRAPH_VERTEX_VISITED(vtx)   (((CvGraphVtx*)(vtx))->flags & CV_GRAPH_ITEM_VISITED_FLAG)
 
#define CV_IS_HIST(hist)
 
#define CV_IS_IMAGE(img)   (CV_IS_IMAGE_HDR(img) && ((IplImage*)img)->imageData != NULL)
 
#define CV_IS_IMAGE_HDR(img)   ((img) != NULL && ((const IplImage*)(img))->nSize == sizeof(IplImage))
 
#define CV_IS_MASK_ARR(mat)   (((mat)->type & (CV_MAT_TYPE_MASK & ~CV_8SC1)) == 0)
 
#define CV_IS_MAT(mat)   (CV_IS_MAT_HDR(mat) && ((const CvMat*)(mat))->data.ptr != NULL)
 
#define CV_IS_MAT_CONST(mat)   (((mat)->rows|(mat)->cols) == 1)
 
#define CV_IS_MAT_HDR(mat)
 
#define CV_IS_MAT_HDR_Z(mat)
 
#define CV_IS_MATND(mat)   (CV_IS_MATND_HDR(mat) && ((const CvMatND*)(mat))->data.ptr != NULL)
 
#define CV_IS_MATND_HDR(mat)   ((mat) != NULL && (((const CvMatND*)(mat))->type & CV_MAGIC_MASK) == CV_MATND_MAGIC_VAL)
 
#define CV_IS_SEQ(seq)   ((seq) != NULL && (((CvSeq*)(seq))->flags & CV_MAGIC_MASK) == CV_SEQ_MAGIC_VAL)
 
#define CV_IS_SEQ_CHAIN(seq)   (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && (seq)->elem_size == 1)
 
#define CV_IS_SEQ_CHAIN_CONTOUR(seq)   (CV_IS_SEQ_CHAIN( seq ) && CV_IS_SEQ_CLOSED( seq ))
 
#define CV_IS_SEQ_CLOSED(seq)   (((seq)->flags & CV_SEQ_FLAG_CLOSED) != 0)
 
#define CV_IS_SEQ_CONTOUR(seq)   (CV_IS_SEQ_CLOSED(seq) && (CV_IS_SEQ_POLYLINE(seq) || CV_IS_SEQ_CHAIN(seq)))
 
#define CV_IS_SEQ_CONVEX(seq)   0
 
#define CV_IS_SEQ_CURVE(seq)   (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE)
 
#define CV_IS_SEQ_HOLE(seq)   (((seq)->flags & CV_SEQ_FLAG_HOLE) != 0)
 
#define CV_IS_SEQ_INDEX(seq)
 
#define CV_IS_SEQ_POINT_SET(seq)   ((CV_SEQ_ELTYPE(seq) == CV_32SC2 || CV_SEQ_ELTYPE(seq) == CV_32FC2))
 
#define CV_IS_SEQ_POINT_SUBSET(seq)   (CV_IS_SEQ_INDEX( seq ) || CV_SEQ_ELTYPE(seq) == CV_SEQ_ELTYPE_PPOINT)
 
#define CV_IS_SEQ_POLYGON(seq)   (CV_IS_SEQ_POLYLINE(seq) && CV_IS_SEQ_CLOSED(seq))
 
#define CV_IS_SEQ_POLYGON_TREE(seq)
 
#define CV_IS_SEQ_POLYLINE(seq)   (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && CV_IS_SEQ_POINT_SET(seq))
 
#define CV_IS_SEQ_SIMPLE(seq)   1
 
#define CV_IS_SET(set)   ((set) != NULL && (((CvSeq*)(set))->flags & CV_MAGIC_MASK) == CV_SET_MAGIC_VAL)
 
#define CV_IS_SET_ELEM(ptr)   (((CvSetElem*)(ptr))->flags >= 0)
 
#define CV_IS_SPARSE_HIST(hist)   CV_IS_SPARSE_MAT((hist)->bins)
 
#define CV_IS_SPARSE_MAT(mat)   CV_IS_SPARSE_MAT_HDR(mat)
 
#define CV_IS_SPARSE_MAT_HDR(mat)
 
#define CV_IS_STORAGE(storage)
 
#define CV_IS_SUBDIV2D(seq)   (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_SUBDIV2D)
 
#define CV_IS_UNIFORM_HIST(hist)   (((hist)->type & CV_HIST_UNIFORM_FLAG) != 0)
 
#define CV_KMEANS_USE_INITIAL_LABELS   1
 
#define CV_LU   0
 
#define CV_MAGIC_MASK   0xFFFF0000
 
#define CV_MAT_ELEM(mat, elemtype, row, col)   (*(elemtype*)CV_MAT_ELEM_PTR_FAST( mat, row, col, sizeof(elemtype)))
 
#define CV_MAT_ELEM_PTR(mat, row, col)   CV_MAT_ELEM_PTR_FAST( mat, row, col, CV_ELEM_SIZE((mat).type) )
 
#define CV_MAT_ELEM_PTR_FAST(mat, row, col, pix_size)
 
#define CV_MAT_MAGIC_VAL   0x42420000
 
#define CV_MATND_MAGIC_VAL   0x42430000
 
#define CV_MAX_ARR   10
 
#define CV_MAX_DIM   32
 
#define CV_NEXT_GRAPH_EDGE(edge, vertex)
 
#define CV_NEXT_SEQ_ELEM(elem_size, reader)
 
#define CV_NO_CN_CHECK   2
 
#define CV_NO_DEPTH_CHECK   1
 
#define CV_NO_SIZE_CHECK   4
 
#define CV_NODE_IDX(mat, node)   ((int*)((uchar*)(node) + (mat)->idxoffset))
 
#define CV_NODE_VAL(mat, node)   ((void*)((uchar*)(node) + (mat)->valoffset))
 
#define CV_NORMAL   16
 
#define CV_ORIENTED_GRAPH   (CV_SEQ_KIND_GRAPH|CV_GRAPH_FLAG_ORIENTED)
 
#define CV_PCA_DATA_AS_COL   1
 
#define CV_PCA_DATA_AS_ROW   0
 
#define CV_PCA_USE_AVG   2
 
#define CV_PREV_POINT(reader)   (*((CvPoint*)((reader).prev_elem)))
 
#define CV_PREV_SEQ_ELEM(elem_size, reader)
 
#define CV_QR   4
 
#define CV_RAND_NORMAL   1
 
#define CV_RAND_UNI   0
 
#define CV_READ_CHAIN_POINT(_pt, reader)
 
#define CV_READ_EDGE(pt1, pt2, reader)
 
#define CV_READ_SEQ_ELEM(elem, reader)
 
#define CV_REV_READ_SEQ_ELEM(elem, reader)
 
#define CV_RNG_COEFF   4164903690U
 
#define CV_SEQ_CHAIN   (CV_SEQ_KIND_CURVE | CV_SEQ_ELTYPE_CODE)
 
#define CV_SEQ_CHAIN_CONTOUR   (CV_SEQ_FLAG_CLOSED | CV_SEQ_CHAIN)
 
#define CV_SEQ_CONNECTED_COMP   (CV_SEQ_KIND_GENERIC | CV_SEQ_ELTYPE_CONNECTED_COMP)
 
#define CV_SEQ_CONTOUR   CV_SEQ_POLYGON
 
#define CV_SEQ_ELEM(seq, elem_type, index)
 
#define CV_SEQ_ELTYPE(seq)   ((seq)->flags & CV_SEQ_ELTYPE_MASK)
 
#define CV_SEQ_ELTYPE_BITS   12
 
#define CV_SEQ_ELTYPE_CODE   CV_8UC1
 
#define CV_SEQ_ELTYPE_CONNECTED_COMP   0
 
#define CV_SEQ_ELTYPE_GENERIC   0
 
#define CV_SEQ_ELTYPE_GRAPH_EDGE   0
 
#define CV_SEQ_ELTYPE_GRAPH_VERTEX   0
 
#define CV_SEQ_ELTYPE_INDEX   CV_32SC1
 
#define CV_SEQ_ELTYPE_MASK   ((1 << CV_SEQ_ELTYPE_BITS) - 1)
 
#define CV_SEQ_ELTYPE_POINT   CV_32SC2
 
#define CV_SEQ_ELTYPE_POINT3D   CV_32FC3
 
#define CV_SEQ_ELTYPE_PPOINT   CV_SEQ_ELTYPE_PTR
 
#define CV_SEQ_ELTYPE_PTR   CV_MAKE_TYPE(CV_8U, 8 /*sizeof(void*)*/)
 
#define CV_SEQ_ELTYPE_TRIAN_ATR   0
 
#define CV_SEQ_FLAG_CLOSED   (1 << CV_SEQ_FLAG_SHIFT)
 
#define CV_SEQ_FLAG_CONVEX   (0 << CV_SEQ_FLAG_SHIFT)
 
#define CV_SEQ_FLAG_HOLE   (2 << CV_SEQ_FLAG_SHIFT)
 
#define CV_SEQ_FLAG_SHIFT   (CV_SEQ_KIND_BITS + CV_SEQ_ELTYPE_BITS)
 
#define CV_SEQ_FLAG_SIMPLE   (0 << CV_SEQ_FLAG_SHIFT)
 
#define CV_SEQ_INDEX   (CV_SEQ_KIND_GENERIC | CV_SEQ_ELTYPE_INDEX)
 
#define CV_SEQ_KIND(seq)   ((seq)->flags & CV_SEQ_KIND_MASK )
 
#define CV_SEQ_KIND_BIN_TREE   (2 << CV_SEQ_ELTYPE_BITS)
 
#define CV_SEQ_KIND_BITS   2
 
#define CV_SEQ_KIND_CURVE   (1 << CV_SEQ_ELTYPE_BITS)
 
#define CV_SEQ_KIND_GENERIC   (0 << CV_SEQ_ELTYPE_BITS)
 
#define CV_SEQ_KIND_GRAPH   (1 << CV_SEQ_ELTYPE_BITS)
 
#define CV_SEQ_KIND_MASK   (((1 << CV_SEQ_KIND_BITS) - 1)<<CV_SEQ_ELTYPE_BITS)
 
#define CV_SEQ_KIND_SUBDIV2D   (2 << CV_SEQ_ELTYPE_BITS)
 
#define CV_SEQ_MAGIC_VAL   0x42990000
 
#define CV_SEQ_POINT3D_SET   (CV_SEQ_KIND_GENERIC| CV_SEQ_ELTYPE_POINT3D)
 
#define CV_SEQ_POINT_SET   (CV_SEQ_KIND_GENERIC| CV_SEQ_ELTYPE_POINT)
 
#define CV_SEQ_POLYGON   (CV_SEQ_FLAG_CLOSED | CV_SEQ_POLYLINE )
 
#define CV_SEQ_POLYGON_TREE   (CV_SEQ_KIND_BIN_TREE | CV_SEQ_ELTYPE_TRIAN_ATR)
 
#define CV_SEQ_POLYLINE   (CV_SEQ_KIND_CURVE | CV_SEQ_ELTYPE_POINT)
 
#define CV_SEQ_READER_FIELDS()
 
#define CV_SEQ_SIMPLE_POLYGON   (CV_SEQ_FLAG_SIMPLE | CV_SEQ_POLYGON )
 
#define CV_SEQ_WRITER_FIELDS()
 
#define CV_SEQUENCE_FIELDS()
 
#define CV_SET_ELEM_FIELDS(elem_type)
 Set Order is not preserved. There can be gaps between sequence elements. After the element has been inserted it stays in the same place all the time. The MSB(most-significant or sign bit) of the first field (flags) is 0 iff the element exists. More...
 
#define CV_SET_ELEM_FREE_FLAG   (1 << (sizeof(int)*8-1))
 
#define CV_SET_ELEM_IDX_MASK   ((1 << 26) - 1)
 
#define CV_SET_FIELDS()
 
#define CV_SET_MAGIC_VAL   0x42980000
 
#define CV_SIGN(a)   CV_CMP((a),0)
 
#define CV_SORT_ASCENDING   0
 
#define CV_SORT_DESCENDING   16
 
#define CV_SORT_EVERY_COLUMN   1
 
#define CV_SORT_EVERY_ROW   0
 
#define CV_SPARSE_MAT_MAGIC_VAL   0x42440000
 
#define CV_STORAGE_MAGIC_VAL   0x42890000
 
#define CV_SVD   1
 
#define CV_SVD_MODIFY_A   1
 
#define CV_SVD_SYM   2
 
#define CV_SVD_U_T   2
 
#define CV_SVD_V_T   4
 
#define CV_SWAP(a, b, t)   ((t) = (a), (a) = (b), (b) = (t))
 
#define CV_TERMCRIT_EPS   2
 
#define CV_TERMCRIT_ITER   1
 
#define CV_TERMCRIT_NUMBER   CV_TERMCRIT_ITER
 
#define CV_TREE_NODE_FIELDS(node_type)
 
#define CV_TURN_ON_IPL_COMPATIBILITY()
 
#define CV_TYPE_NAME_IMAGE   "opencv-image"
 
#define CV_TYPE_NAME_MAT   "opencv-matrix"
 
#define CV_TYPE_NAME_MATND   "opencv-nd-matrix"
 
#define CV_TYPE_NAME_SEQ   "opencv-sequence"
 
#define CV_TYPE_NAME_SEQ_TREE   "opencv-sequence-tree"
 
#define CV_TYPE_NAME_SPARSE_MAT   "opencv-sparse-matrix"
 
#define CV_WHOLE_ARR   cvSlice( 0, 0x3fffffff )
 
#define CV_WHOLE_SEQ   cvSlice(0, CV_WHOLE_SEQ_END_INDEX)
 
#define CV_WHOLE_SEQ_END_INDEX   0x3fffffff
 
#define CV_WRITE_SEQ_ELEM(elem, writer)
 
#define CV_WRITE_SEQ_ELEM_VAR(elem_ptr, writer)
 
#define cvAbs(src, dst)   cvAbsDiffS( (src), (dst), cvScalarAll(0))
 
#define cvAXPY(A, real_scalar, B, C)   cvScaleAdd(A, cvRealScalar(real_scalar), B, C)
 
#define cvCheckArray   cvCheckArr
 
#define cvConvert(src, dst)   cvConvertScale( (src), (dst), 1, 0 )
 
#define cvCvtScale   cvConvertScale
 
#define cvCvtScaleAbs   cvConvertScaleAbs
 
#define cvFFT   cvDFT
 
#define cvFree(ptr)   (cvFree_(*(ptr)), *(ptr)=0)
 
#define cvGetGraphVtx(graph, idx)   (CvGraphVtx*)cvGetSetElem((CvSet*)(graph), (idx))
 
#define cvGetSubArr   cvGetSubRect
 
#define cvGraphEdgeIdx(graph, edge)   ((edge)->flags & CV_SET_ELEM_IDX_MASK)
 
#define cvGraphFindEdge   cvFindGraphEdge
 
#define cvGraphFindEdgeByPtr   cvFindGraphEdgeByPtr
 
#define cvGraphGetEdgeCount(graph)   ((graph)->edges->active_count)
 
#define cvGraphGetVtxCount(graph)   ((graph)->active_count)
 
#define cvGraphVtxIdx(graph, vtx)   ((vtx)->flags & CV_SET_ELEM_IDX_MASK)
 
#define cvInv   cvInvert
 
#define cvInvSqrt(value)   ((float)(1./sqrt(value)))
 
#define cvMahalonobis   cvMahalanobis
 
#define cvMatMul(src1, src2, dst)   cvMatMulAdd( (src1), (src2), NULL, (dst))
 
#define cvMatMulAdd(src1, src2, src3, dst)   cvGEMM( (src1), (src2), 1., (src3), 1., (dst), 0 )
 
#define cvMatMulAddEx   cvGEMM
 
#define cvMatMulAddS   cvTransform
 
#define cvMirror   cvFlip
 
#define cvReshapeND(arr, header, new_cn, new_dims, new_sizes)
 
#define cvScale   cvConvertScale
 
#define cvSqrt(value)   ((float)sqrt(value))
 
#define cvT   cvTranspose
 
#define cvZero   cvSetZero
 
#define IPL2CV_DEPTH(depth)
 
#define IPL_ALIGN_16BYTES   16
 
#define IPL_ALIGN_32BYTES   32
 
#define IPL_ALIGN_4BYTES   4
 
#define IPL_ALIGN_8BYTES   8
 
#define IPL_ALIGN_DWORD   IPL_ALIGN_4BYTES
 
#define IPL_ALIGN_QWORD   IPL_ALIGN_8BYTES
 
#define IPL_BORDER_CONSTANT   0
 
#define IPL_BORDER_REFLECT   2
 
#define IPL_BORDER_REFLECT_101   4
 
#define IPL_BORDER_REPLICATE   1
 
#define IPL_BORDER_TRANSPARENT   5
 
#define IPL_BORDER_WRAP   3
 
#define IPL_DATA_ORDER_PIXEL   0
 
#define IPL_DATA_ORDER_PLANE   1
 
#define IPL_DEPTH_16S   (IPL_DEPTH_SIGN|16)
 
#define IPL_DEPTH_16U   16
 
#define IPL_DEPTH_1U   1
 
#define IPL_DEPTH_32F   32
 
#define IPL_DEPTH_32S   (IPL_DEPTH_SIGN|32)
 
#define IPL_DEPTH_64F   64
 
#define IPL_DEPTH_8S   (IPL_DEPTH_SIGN| 8)
 
#define IPL_DEPTH_8U   8
 
#define IPL_DEPTH_SIGN   0x80000000
 
#define IPL_IMAGE_DATA   2
 
#define IPL_IMAGE_HEADER   1
 
#define IPL_IMAGE_MAGIC_VAL   ((int)sizeof(IplImage))
 
#define IPL_IMAGE_ROI   4
 
#define IPL_ORIGIN_BL   1
 
#define IPL_ORIGIN_TL   0
 
#define OPENCV_ASSERT(expr, func, context)
 
#define OPENCV_CALL(Func)
 
#define OPENCV_ERROR(status, func, context)   cvError((status),(func),(context),__FILE__,__LINE__)
 

Typedefs

typedef void(CV_STDCALLCv_iplAllocateImageData) (IplImage *, int, int)
 
typedef IplImage *(CV_STDCALLCv_iplCloneImage) (const IplImage *)
 
typedef IplImage *(CV_STDCALLCv_iplCreateImageHeader) (int, int, int, char *, char *, int, int, int, int, int, IplROI *, IplImage *, void *, IplTileInfo *)
 
typedef IplROI *(CV_STDCALLCv_iplCreateROI) (int, int, int, int, int)
 
typedef void(CV_STDCALLCv_iplDeallocate) (IplImage *, int)
 
typedef void CvArr
 This is the "metatype" used only as a function parameter. More...
 
typedef int(* CvCmpFunc) (const void *a, const void *b, void *userdata)
 
typedef int(* CvErrorCallback) (int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata)
 
typedef int CvHistType
 
typedef CvContour CvPoint2DSeq
 
typedef uint64 CvRNG
 
typedef int CVStatus
 
typedef struct _IplImage IplImage
 
typedef struct _IplTileInfo IplTileInfo
 

Enumerations

enum  {
  CV_StsOk = 0,
  CV_StsBackTrace = -1,
  CV_StsError = -2,
  CV_StsInternal = -3,
  CV_StsNoMem = -4,
  CV_StsBadArg = -5,
  CV_StsBadFunc = -6,
  CV_StsNoConv = -7,
  CV_StsAutoTrace = -8,
  CV_HeaderIsNull = -9,
  CV_BadImageSize = -10,
  CV_BadOffset = -11,
  CV_BadDataPtr = -12,
  CV_BadStep = -13,
  CV_BadModelOrChSeq = -14,
  CV_BadNumChannels = -15,
  CV_BadNumChannel1U = -16,
  CV_BadDepth = -17,
  CV_BadAlphaChannel = -18,
  CV_BadOrder = -19,
  CV_BadOrigin = -20,
  CV_BadAlign = -21,
  CV_BadCallBack = -22,
  CV_BadTileSize = -23,
  CV_BadCOI = -24,
  CV_BadROISize = -25,
  CV_MaskIsTiled = -26,
  CV_StsNullPtr = -27,
  CV_StsVecLengthErr = -28,
  CV_StsFilterStructContentErr = -29,
  CV_StsKernelStructContentErr = -30,
  CV_StsFilterOffsetErr = -31,
  CV_StsBadSize = -201,
  CV_StsDivByZero = -202,
  CV_StsInplaceNotSupported = -203,
  CV_StsObjectNotFound = -204,
  CV_StsUnmatchedFormats = -205,
  CV_StsBadFlag = -206,
  CV_StsBadPoint = -207,
  CV_StsBadMask = -208,
  CV_StsUnmatchedSizes = -209,
  CV_StsUnsupportedFormat = -210,
  CV_StsOutOfRange = -211,
  CV_StsParseError = -212,
  CV_StsNotImplemented = -213,
  CV_StsBadMemBlock = -214,
  CV_StsAssert = -215,
  CV_GpuNotSupported = -216,
  CV_GpuApiCallError = -217,
  CV_OpenGlNotSupported = -218,
  CV_OpenGlApiCallError = -219,
  CV_OpenCLApiCallError = -220,
  CV_OpenCLDoubleNotSupported = -221,
  CV_OpenCLInitError = -222,
  CV_OpenCLNoAMDBlasFft = -223
}
 

Functions

void cvAbsDiff (const CvArr *src1, const CvArr *src2, CvArr *dst)
 
void cvAbsDiffS (const CvArr *src, CvArr *dst, CvScalar value)
 
void cvAdd (const CvArr *src1, const CvArr *src2, CvArr *dst, const CvArr *mask=NULL)
 
void cvAddS (const CvArr *src, CvScalar value, CvArr *dst, const CvArr *mask=NULL)
 
void cvAddWeighted (const CvArr *src1, double alpha, const CvArr *src2, double beta, double gamma, CvArr *dst)
 
void * cvAlloc (size_t size)
 
void cvAnd (const CvArr *src1, const CvArr *src2, CvArr *dst, const CvArr *mask=NULL)
 
void cvAndS (const CvArr *src, CvScalar value, CvArr *dst, const CvArr *mask=NULL)
 
CvScalar cvAvg (const CvArr *arr, const CvArr *mask=NULL)
 
void cvAvgSdv (const CvArr *arr, CvScalar *mean, CvScalar *std_dev, const CvArr *mask=NULL)
 
void cvBackProjectPCA (const CvArr *proj, const CvArr *mean, const CvArr *eigenvects, CvArr *result)
 
CvBox2D cvBox2D (CvPoint2D32f c=CvPoint2D32f(), CvSize2D32f s=CvSize2D32f(), float a=0)
 
CvBox2D cvBox2D (const cv::RotatedRect &rr)
 
void cvCalcCovarMatrix (const CvArr **vects, int count, CvArr *cov_mat, CvArr *avg, int flags)
 
void cvCalcPCA (const CvArr *data, CvArr *mean, CvArr *eigenvals, CvArr *eigenvects, int flags)
 
void cvCartToPolar (const CvArr *x, const CvArr *y, CvArr *magnitude, CvArr *angle=NULL, int angle_in_degrees=0)
 
float cvCbrt (float value)
 
void cvChangeSeqBlock (void *reader, int direction)
 
int cvCheckArr (const CvArr *arr, int flags=0, double min_val=0, double max_val=0)
 
int cvCheckHardwareSupport (int feature)
 
CvTermCriteria cvCheckTermCriteria (CvTermCriteria criteria, double default_eps, int default_max_iters)
 
void cvClearGraph (CvGraph *graph)
 
void cvClearMemStorage (CvMemStorage *storage)
 
void cvClearND (CvArr *arr, const int *idx)
 
void cvClearSeq (CvSeq *seq)
 
void cvClearSet (CvSet *set_header)
 
void * cvClone (const void *struct_ptr)
 Makes a clone of an object. More...
 
CvGraphcvCloneGraph (const CvGraph *graph, CvMemStorage *storage)
 
IplImagecvCloneImage (const IplImage *image)
 
CvMatcvCloneMat (const CvMat *mat)
 
CvMatNDcvCloneMatND (const CvMatND *mat)
 
CvSeqcvCloneSeq (const CvSeq *seq, CvMemStorage *storage=NULL)
 
CvSparseMatcvCloneSparseMat (const CvSparseMat *mat)
 
void cvCmp (const CvArr *src1, const CvArr *src2, CvArr *dst, int cmp_op)
 
void cvCmpS (const CvArr *src, double value, CvArr *dst, int cmp_op)
 
void cvCompleteSymm (CvMat *matrix, int LtoR=0)
 
void cvConvertScale (const CvArr *src, CvArr *dst, double scale=1, double shift=0)
 Converts one array to another with optional linear transformation. More...
 
void cvConvertScaleAbs (const CvArr *src, CvArr *dst, double scale=1, double shift=0)
 
void cvCopy (const CvArr *src, CvArr *dst, const CvArr *mask=NULL)
 Copies one array to another. More...
 
int cvCountNonZero (const CvArr *arr)
 
CvMemStoragecvCreateChildMemStorage (CvMemStorage *parent)
 
void cvCreateData (CvArr *arr)
 Allocates array data. More...
 
CvGraphcvCreateGraph (int graph_flags, int header_size, int vtx_size, int edge_size, CvMemStorage *storage)
 
CvGraphScannercvCreateGraphScanner (CvGraph *graph, CvGraphVtx *vtx=NULL, int mask=-1)
 
IplImagecvCreateImage (CvSize size, int depth, int channels)
 Creates an image header and allocates the image data. More...
 
IplImagecvCreateImageHeader (CvSize size, int depth, int channels)
 Creates an image header but does not allocate the image data. More...
 
CvMatcvCreateMat (int rows, int cols, int type)
 Creates a matrix header and allocates the matrix data. More...
 
CvMatcvCreateMatHeader (int rows, int cols, int type)
 Creates a matrix header but does not allocate the matrix data. More...
 
CvMatNDcvCreateMatND (int dims, const int *sizes, int type)
 Creates the header and allocates the data for a multi-dimensional dense array. More...
 
CvMatNDcvCreateMatNDHeader (int dims, const int *sizes, int type)
 Creates a new matrix header but does not allocate the matrix data. More...
 
CvMemStoragecvCreateMemStorage (int block_size=0)
 
CvSeqcvCreateSeq (int seq_flags, size_t header_size, size_t elem_size, CvMemStorage *storage)
 
void cvCreateSeqBlock (CvSeqWriter *writer)
 
CvSetcvCreateSet (int set_flags, int header_size, int elem_size, CvMemStorage *storage)
 
CvSparseMatcvCreateSparseMat (int dims, const int *sizes, int type)
 Creates sparse array. More...
 
CvSparseMatcvCreateSparseMat (const cv::SparseMat &m)
 
void cvCrossProduct (const CvArr *src1, const CvArr *src2, CvArr *dst)
 Calculates the cross product of two 3D vectors. More...
 
void * cvCvtSeqToArray (const CvSeq *seq, void *elements, CvSlice slice=CV_WHOLE_SEQ)
 
void cvDCT (const CvArr *src, CvArr *dst, int flags)
 
void cvDecRefData (CvArr *arr)
 Decrements an array data reference counter. More...
 
double cvDet (const CvArr *mat)
 
void cvDFT (const CvArr *src, CvArr *dst, int flags, int nonzero_rows=0)
 
void cvDiv (const CvArr *src1, const CvArr *src2, CvArr *dst, double scale=1)
 
double cvDotProduct (const CvArr *src1, const CvArr *src2)
 Calculates the dot product of two arrays in Euclidean metrics. More...
 
void cvEigenVV (CvArr *mat, CvArr *evects, CvArr *evals, double eps=0, int lowindex=-1, int highindex=-1)
 
CvSeqcvEndWriteSeq (CvSeqWriter *writer)
 
void cvError (int status, const char *func_name, const char *err_msg, const char *file_name, int line)
 
int cvErrorFromIppStatus (int ipp_status)
 
const char * cvErrorStr (int status)
 
void cvExp (const CvArr *src, CvArr *dst)
 
float cvFastArctan (float y, float x)
 
CvGraphEdgecvFindGraphEdge (const CvGraph *graph, int start_idx, int end_idx)
 
CvGraphEdgecvFindGraphEdgeByPtr (const CvGraph *graph, const CvGraphVtx *start_vtx, const CvGraphVtx *end_vtx)
 
void cvFlip (const CvArr *src, CvArr *dst=NULL, int flip_mode=0)
 
void cvFlushSeqWriter (CvSeqWriter *writer)
 
void cvFree_ (void *ptr)
 
void cvGEMM (const CvArr *src1, const CvArr *src2, double alpha, const CvArr *src3, double beta, CvArr *dst, int tABC=0)
 
CvScalar cvGet1D (const CvArr *arr, int idx0)
 Return a specific array element. More...
 
CvScalar cvGet2D (const CvArr *arr, int idx0, int idx1)
 
CvScalar cvGet3D (const CvArr *arr, int idx0, int idx1, int idx2)
 
CvMatcvGetCol (const CvArr *arr, CvMat *submat, int col)
 
CvMatcvGetCols (const CvArr *arr, CvMat *submat, int start_col, int end_col)
 Returns one of more array columns. More...
 
CvMatcvGetDiag (const CvArr *arr, CvMat *submat, int diag=0)
 Returns one of array diagonals. More...
 
int cvGetDims (const CvArr *arr, int *sizes=NULL)
 Return number of array dimensions. More...
 
int cvGetDimSize (const CvArr *arr, int index)
 Returns array size along the specified dimension. More...
 
int cvGetElemType (const CvArr *arr)
 Returns type of array elements. More...
 
int cvGetErrInfo (const char **errcode_desc, const char **description, const char **filename, int *line)
 
int cvGetErrMode (void)
 
int cvGetErrStatus (void)
 
IplImagecvGetImage (const CvArr *arr, IplImage *image_header)
 Returns image header for arbitrary array. More...
 
int cvGetImageCOI (const IplImage *image)
 Returns the index of the channel of interest. More...
 
CvRect cvGetImageROI (const IplImage *image)
 Returns the image ROI. More...
 
CvMatcvGetMat (const CvArr *arr, CvMat *header, int *coi=NULL, int allowND=0)
 Returns matrix header for arbitrary array. More...
 
CvScalar cvGetND (const CvArr *arr, const int *idx)
 
CvSparseNodecvGetNextSparseNode (CvSparseMatIterator *mat_iterator)
 Returns the next sparse matrix element. More...
 
int cvGetNumThreads (void)
 
int cvGetOptimalDFTSize (int size0)
 
void cvGetRawData (const CvArr *arr, uchar **data, int *step=NULL, CvSize *roi_size=NULL)
 Retrieves low-level information about the array. More...
 
double cvGetReal1D (const CvArr *arr, int idx0)
 Return a specific element of single-channel 1D, 2D, 3D or nD array. More...
 
double cvGetReal2D (const CvArr *arr, int idx0, int idx1)
 
double cvGetReal3D (const CvArr *arr, int idx0, int idx1, int idx2)
 
double cvGetRealND (const CvArr *arr, const int *idx)
 
CvMatcvGetRow (const CvArr *arr, CvMat *submat, int row)
 
CvMatcvGetRows (const CvArr *arr, CvMat *submat, int start_row, int end_row, int delta_row=1)
 Returns array row or row span. More...
 
scharcvGetSeqElem (const CvSeq *seq, int index)
 
int cvGetSeqReaderPos (CvSeqReader *reader)
 
CvSetElemcvGetSetElem (const CvSet *set_header, int idx)
 
CvSize cvGetSize (const CvArr *arr)
 Returns size of matrix or image ROI. More...
 
CvMatcvGetSubRect (const CvArr *arr, CvMat *submat, CvRect rect)
 Returns matrix header corresponding to the rectangular sub-array of input image or matrix. More...
 
int cvGetThreadNum (void)
 
int64 cvGetTickCount (void)
 
double cvGetTickFrequency (void)
 
int cvGraphAddEdge (CvGraph *graph, int start_idx, int end_idx, const CvGraphEdge *edge=NULL, CvGraphEdge **inserted_edge=NULL)
 
int cvGraphAddEdgeByPtr (CvGraph *graph, CvGraphVtx *start_vtx, CvGraphVtx *end_vtx, const CvGraphEdge *edge=NULL, CvGraphEdge **inserted_edge=NULL)
 
int cvGraphAddVtx (CvGraph *graph, const CvGraphVtx *vtx=NULL, CvGraphVtx **inserted_vtx=NULL)
 
void cvGraphRemoveEdge (CvGraph *graph, int start_idx, int end_idx)
 
void cvGraphRemoveEdgeByPtr (CvGraph *graph, CvGraphVtx *start_vtx, CvGraphVtx *end_vtx)
 
int cvGraphRemoveVtx (CvGraph *graph, int index)
 
int cvGraphRemoveVtxByPtr (CvGraph *graph, CvGraphVtx *vtx)
 
int cvGraphVtxDegree (const CvGraph *graph, int vtx_idx)
 
int cvGraphVtxDegreeByPtr (const CvGraph *graph, const CvGraphVtx *vtx)
 
int cvGuiBoxReport (int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata)
 
int cvIncRefData (CvArr *arr)
 Increments array data reference counter. More...
 
IplImagecvInitImageHeader (IplImage *image, CvSize size, int depth, int channels, int origin=0, int align=4)
 Initializes an image header that was previously allocated. More...
 
CvMatcvInitMatHeader (CvMat *mat, int rows, int cols, int type, void *data=NULL, int step=0x7fffffff)
 Initializes a pre-allocated matrix header. More...
 
CvMatNDcvInitMatNDHeader (CvMatND *mat, int dims, const int *sizes, int type, void *data=NULL)
 Initializes a pre-allocated multi-dimensional array header. More...
 
int cvInitNArrayIterator (int count, CvArr **arrs, const CvArr *mask, CvMatND *stubs, CvNArrayIterator *array_iterator, int flags=0)
 
CvSparseNodecvInitSparseMatIterator (const CvSparseMat *mat, CvSparseMatIterator *mat_iterator)
 Initializes sparse array elements iterator. More...
 
void cvInitTreeNodeIterator (CvTreeNodeIterator *tree_iterator, const void *first, int max_level)
 
void cvInRange (const CvArr *src, const CvArr *lower, const CvArr *upper, CvArr *dst)
 
void cvInRangeS (const CvArr *src, CvScalar lower, CvScalar upper, CvArr *dst)
 
void cvInsertNodeIntoTree (void *node, void *parent, void *frame)
 
double cvInvert (const CvArr *src, CvArr *dst, int method=0)
 
int cvIplDepth (int type)
 
_IplImage cvIplImage (const cv::Mat &m)
 
IplImage cvIplImage ()
 
int cvKMeans2 (const CvArr *samples, int cluster_count, CvArr *labels, CvTermCriteria termcrit, int attempts=1, CvRNG *rng=0, int flags=0, CvArr *_centers=0, double *compactness=0)
 
void cvLog (const CvArr *src, CvArr *dst)
 
void cvLUT (const CvArr *src, CvArr *dst, const CvArr *lut)
 
double cvMahalanobis (const CvArr *vec1, const CvArr *vec2, const CvArr *mat)
 
CvSeqcvMakeSeqHeaderForArray (int seq_type, int header_size, int elem_size, void *elements, int total, CvSeq *seq, CvSeqBlock *block)
 
CvMat cvMat (const cv::Mat &m)
 
CvMat cvMat (int rows, int cols, int type, void *data=NULL)
 
CvMat cvMat ()
 
CvMat cvMat (const CvMat &m)
 
CvMatND cvMatND (const cv::Mat &m)
 
CvMatND cvMatND ()
 
void cvMax (const CvArr *src1, const CvArr *src2, CvArr *dst)
 
void cvMaxS (const CvArr *src, double value, CvArr *dst)
 
void * cvMemStorageAlloc (CvMemStorage *storage, size_t size)
 
void cvMerge (const CvArr *src0, const CvArr *src1, const CvArr *src2, const CvArr *src3, CvArr *dst)
 
double cvmGet (const CvMat *mat, int row, int col)
 Returns the particular element of single-channel floating-point matrix. More...
 
void cvMin (const CvArr *src1, const CvArr *src2, CvArr *dst)
 
void cvMinMaxLoc (const CvArr *arr, double *min_val, double *max_val, CvPoint *min_loc=NULL, CvPoint *max_loc=NULL, const CvArr *mask=NULL)
 
void cvMinS (const CvArr *src, double value, CvArr *dst)
 
void cvMixChannels (const CvArr **src, int src_count, CvArr **dst, int dst_count, const int *from_to, int pair_count)
 
void cvmSet (CvMat *mat, int row, int col, double value)
 Sets a specific element of a single-channel floating-point matrix. More...
 
void cvMul (const CvArr *src1, const CvArr *src2, CvArr *dst, double scale=1)
 
void cvMulSpectrums (const CvArr *src1, const CvArr *src2, CvArr *dst, int flags)
 
void cvMulTransposed (const CvArr *src, CvArr *dst, int order, const CvArr *delta=NULL, double scale=1.)
 
int cvNextGraphItem (CvGraphScanner *scanner)
 
int cvNextNArraySlice (CvNArrayIterator *array_iterator)
 
void * cvNextTreeNode (CvTreeNodeIterator *tree_iterator)
 
double cvNorm (const CvArr *arr1, const CvArr *arr2=NULL, int norm_type=4, const CvArr *mask=NULL)
 
void cvNormalize (const CvArr *src, CvArr *dst, double a=1., double b=0., int norm_type=4, const CvArr *mask=NULL)
 
void cvNot (const CvArr *src, CvArr *dst)
 
int cvNulDevReport (int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata)
 
void cvOr (const CvArr *src1, const CvArr *src2, CvArr *dst, const CvArr *mask=NULL)
 
void cvOrS (const CvArr *src, CvScalar value, CvArr *dst, const CvArr *mask=NULL)
 
void cvPerspectiveTransform (const CvArr *src, CvArr *dst, const CvMat *mat)
 
CvPoint cvPoint (int x, int y)
 
CvPoint cvPoint (const cv::Point &pt)
 
CvPoint2D32f cvPoint2D32f (double x, double y)
 
template<typename _Tp >
CvPoint2D32f cvPoint2D32f (const cv::Point_< _Tp > &pt)
 
CvPoint2D64f cvPoint2D64f (double x, double y)
 
CvPoint3D32f cvPoint3D32f (double x, double y, double z)
 
template<typename _Tp >
CvPoint3D32f cvPoint3D32f (const cv::Point3_< _Tp > &pt)
 
CvPoint3D64f cvPoint3D64f (double x, double y, double z)
 
CvPoint cvPointFrom32f (CvPoint2D32f point)
 
CvPoint2D32f cvPointTo32f (CvPoint point)
 
void cvPolarToCart (const CvArr *magnitude, const CvArr *angle, CvArr *x, CvArr *y, int angle_in_degrees=0)
 
void cvPow (const CvArr *src, CvArr *dst, double power)
 
void * cvPrevTreeNode (CvTreeNodeIterator *tree_iterator)
 
void cvProjectPCA (const CvArr *data, const CvArr *mean, const CvArr *eigenvects, CvArr *result)
 
ucharcvPtr1D (const CvArr *arr, int idx0, int *type=NULL)
 Return pointer to a particular array element. More...
 
ucharcvPtr2D (const CvArr *arr, int idx0, int idx1, int *type=NULL)
 
ucharcvPtr3D (const CvArr *arr, int idx0, int idx1, int idx2, int *type=NULL)
 
ucharcvPtrND (const CvArr *arr, const int *idx, int *type=NULL, int create_node=1, unsigned *precalc_hashval=NULL)
 
void cvRandArr (CvRNG *rng, CvArr *arr, int dist_type, CvScalar param1, CvScalar param2)
 Fills an array with random numbers and updates the RNG state. More...
 
unsigned cvRandInt (CvRNG *rng)
 Returns a 32-bit unsigned integer and updates RNG. More...
 
double cvRandReal (CvRNG *rng)
 Returns a floating-point random number and updates RNG. More...
 
void cvRandShuffle (CvArr *mat, CvRNG *rng, double iter_factor=1.)
 
CvArrcvRange (CvArr *mat, double start, double end)
 
void cvRawDataToScalar (const void *data, int type, CvScalar *scalar)
 
CvScalar cvRealScalar (double val0)
 
CvRect cvRect (int x, int y, int width, int height)
 
CvRect cvRect (const cv::Rect &rc)
 
IplROI cvRectToROI (CvRect rect, int coi)
 
CvErrorCallback cvRedirectError (CvErrorCallback error_handler, void *userdata=NULL, void **prev_userdata=NULL)
 
void cvReduce (const CvArr *src, CvArr *dst, int dim=-1, int op=0)
 
void cvRelease (void **struct_ptr)
 Releases an object. More...
 
void cvReleaseData (CvArr *arr)
 Releases array data. More...
 
void cvReleaseGraphScanner (CvGraphScanner **scanner)
 
void cvReleaseImage (IplImage **image)
 Deallocates the image header and the image data. More...
 
void cvReleaseImageHeader (IplImage **image)
 Deallocates an image header. More...
 
void cvReleaseMat (CvMat **mat)
 Deallocates a matrix. More...
 
void cvReleaseMatND (CvMatND **mat)
 Deallocates a multi-dimensional array. More...
 
void cvReleaseMemStorage (CvMemStorage **storage)
 
void cvReleaseSparseMat (CvSparseMat **mat)
 Deallocates sparse array. More...
 
void cvRemoveNodeFromTree (void *node, void *frame)
 
void cvRepeat (const CvArr *src, CvArr *dst)
 
void cvResetImageROI (IplImage *image)
 Resets the image ROI to include the entire image and releases the ROI structure. More...
 
CvMatcvReshape (const CvArr *arr, CvMat *header, int new_cn, int new_rows=0)
 Changes shape of matrix/image without copying data. More...
 
CvArrcvReshapeMatND (const CvArr *arr, int sizeof_header, CvArr *header, int new_cn, int new_dims, int *new_sizes)
 Changes the shape of a multi-dimensional array without copying the data. More...
 
void cvRestoreMemStoragePos (CvMemStorage *storage, CvMemStoragePos *pos)
 
CvRNG cvRNG (int64 seed=-1)
 Initializes a random number generator state. More...
 
CvRect cvROIToRect (IplROI roi)
 
void cvSaveMemStoragePos (const CvMemStorage *storage, CvMemStoragePos *pos)
 
CvScalar cvScalar (double val0, double val1=0, double val2=0, double val3=0)
 
CvScalar cvScalar ()
 
CvScalar cvScalar (const cv::Scalar &s)
 
CvScalar cvScalarAll (double val0123)
 
void cvScalarToRawData (const CvScalar *scalar, void *data, int type, int extend_to_12=0)
 
void cvScaleAdd (const CvArr *src1, CvScalar scale, const CvArr *src2, CvArr *dst)
 
int cvSeqElemIdx (const CvSeq *seq, const void *element, CvSeqBlock **block=NULL)
 
scharcvSeqInsert (CvSeq *seq, int before_index, const void *element=NULL)
 
void cvSeqInsertSlice (CvSeq *seq, int before_index, const CvArr *from_arr)
 
void cvSeqInvert (CvSeq *seq)
 
int cvSeqPartition (const CvSeq *seq, CvMemStorage *storage, CvSeq **labels, CvCmpFunc is_equal, void *userdata)
 
void cvSeqPop (CvSeq *seq, void *element=NULL)
 
void cvSeqPopFront (CvSeq *seq, void *element=NULL)
 
void cvSeqPopMulti (CvSeq *seq, void *elements, int count, int in_front=0)
 
scharcvSeqPush (CvSeq *seq, const void *element=NULL)
 
scharcvSeqPushFront (CvSeq *seq, const void *element=NULL)
 
void cvSeqPushMulti (CvSeq *seq, const void *elements, int count, int in_front=0)
 
void cvSeqRemove (CvSeq *seq, int index)
 
void cvSeqRemoveSlice (CvSeq *seq, CvSlice slice)
 
scharcvSeqSearch (CvSeq *seq, const void *elem, CvCmpFunc func, int is_sorted, int *elem_idx, void *userdata=NULL)
 
CvSeqcvSeqSlice (const CvSeq *seq, CvSlice slice, CvMemStorage *storage=NULL, int copy_data=0)
 
void cvSeqSort (CvSeq *seq, CvCmpFunc func, void *userdata=NULL)
 
void cvSet (CvArr *arr, CvScalar value, const CvArr *mask=NULL)
 Sets every element of an array to a given value. More...
 
void cvSet1D (CvArr *arr, int idx0, CvScalar value)
 Change the particular array element. More...
 
void cvSet2D (CvArr *arr, int idx0, int idx1, CvScalar value)
 
void cvSet3D (CvArr *arr, int idx0, int idx1, int idx2, CvScalar value)
 
int cvSetAdd (CvSet *set_header, CvSetElem *elem=NULL, CvSetElem **inserted_elem=NULL)
 
void cvSetData (CvArr *arr, void *data, int step)
 Assigns user data to the array header. More...
 
int cvSetErrMode (int mode)
 
void cvSetErrStatus (int status)
 
void cvSetIdentity (CvArr *mat, CvScalar value=cvRealScalar(1))
 
void cvSetImageCOI (IplImage *image, int coi)
 Sets the channel of interest in an IplImage. More...
 
void cvSetImageROI (IplImage *image, CvRect rect)
 Sets an image Region Of Interest (ROI) for a given rectangle. More...
 
void cvSetIPLAllocators (Cv_iplCreateImageHeader create_header, Cv_iplAllocateImageData allocate_data, Cv_iplDeallocate deallocate, Cv_iplCreateROI create_roi, Cv_iplCloneImage clone_image)
 Makes OpenCV use IPL functions for allocating IplImage and IplROI structures. More...
 
void cvSetND (CvArr *arr, const int *idx, CvScalar value)
 
CvSetElemcvSetNew (CvSet *set_header)
 
void cvSetNumThreads (int threads=0)
 
void cvSetReal1D (CvArr *arr, int idx0, double value)
 Change a specific array element. More...
 
void cvSetReal2D (CvArr *arr, int idx0, int idx1, double value)
 
void cvSetReal3D (CvArr *arr, int idx0, int idx1, int idx2, double value)
 
void cvSetRealND (CvArr *arr, const int *idx, double value)
 
void cvSetRemove (CvSet *set_header, int index)
 
void cvSetRemoveByPtr (CvSet *set_header, void *elem)
 
void cvSetSeqBlockSize (CvSeq *seq, int delta_elems)
 
void cvSetSeqReaderPos (CvSeqReader *reader, int index, int is_relative=0)
 
void cvSetZero (CvArr *arr)
 Clears the array. More...
 
CvSize cvSize (int width, int height)
 
CvSize cvSize (const cv::Size &sz)
 
CvSize2D32f cvSize2D32f (double width, double height)
 
template<typename _Tp >
CvSize2D32f cvSize2D32f (const cv::Size_< _Tp > &sz)
 
CvSlice cvSlice (int start, int end)
 
CvSlice cvSlice (const cv::Range &r)
 
int cvSliceLength (CvSlice slice, const CvSeq *seq)
 
int cvSolve (const CvArr *src1, const CvArr *src2, CvArr *dst, int method=0)
 
int cvSolveCubic (const CvMat *coeffs, CvMat *roots)
 
void cvSolvePoly (const CvMat *coeffs, CvMat *roots2, int maxiter=20, int fig=100)
 
void cvSort (const CvArr *src, CvArr *dst=NULL, CvArr *idxmat=NULL, int flags=0)
 
void cvSplit (const CvArr *src, CvArr *dst0, CvArr *dst1, CvArr *dst2, CvArr *dst3)
 
void cvStartAppendToSeq (CvSeq *seq, CvSeqWriter *writer)
 
void cvStartReadSeq (const CvSeq *seq, CvSeqReader *reader, int reverse=0)
 
void cvStartWriteSeq (int seq_flags, int header_size, int elem_size, CvMemStorage *storage, CvSeqWriter *writer)
 
int cvStdErrReport (int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata)
 
void cvSub (const CvArr *src1, const CvArr *src2, CvArr *dst, const CvArr *mask=NULL)
 
void cvSubRS (const CvArr *src, CvScalar value, CvArr *dst, const CvArr *mask=NULL)
 
void cvSubS (const CvArr *src, CvScalar value, CvArr *dst, const CvArr *mask=NULL)
 
CvScalar cvSum (const CvArr *arr)
 
void cvSVBkSb (const CvArr *W, const CvArr *U, const CvArr *V, const CvArr *B, CvArr *X, int flags)
 
void cvSVD (CvArr *A, CvArr *W, CvArr *U=NULL, CvArr *V=NULL, int flags=0)
 
CvTermCriteria cvTermCriteria (int type, int max_iter, double epsilon)
 
CvTermCriteria cvTermCriteria (const cv::TermCriteria &t)
 
CvScalar cvTrace (const CvArr *mat)
 
void cvTransform (const CvArr *src, CvArr *dst, const CvMat *transmat, const CvMat *shiftvec=NULL)
 
void cvTranspose (const CvArr *src, CvArr *dst)
 
CvSeqcvTreeToNodeSeq (const void *first, int header_size, CvMemStorage *storage)
 
int cvUseOptimized (int on_off)
 
void cvXor (const CvArr *src1, const CvArr *src2, CvArr *dst, const CvArr *mask=NULL)
 
void cvXorS (const CvArr *src, CvScalar value, CvArr *dst, const CvArr *mask=NULL)
 

Flags for cvCalcCovarMatrix

See also
cvCalcCovarMatrix
#define CV_COVAR_SCRAMBLED   0
 
#define CV_COVAR_NORMAL   1
 
#define CV_COVAR_USE_AVG   2
 
#define CV_COVAR_SCALE   4
 
#define CV_COVAR_ROWS   8
 
#define CV_COVAR_COLS   16
 

Flags for cvNorm and cvNormalize

#define CV_C   1
 
#define CV_L1   2
 
#define CV_L2   4
 
#define CV_NORM_MASK   7
 
#define CV_RELATIVE   8
 
#define CV_DIFF   16
 
#define CV_MINMAX   32
 
#define CV_DIFF_C   (CV_DIFF | CV_C)
 
#define CV_DIFF_L1   (CV_DIFF | CV_L1)
 
#define CV_DIFF_L2   (CV_DIFF | CV_L2)
 
#define CV_RELATIVE_C   (CV_RELATIVE | CV_C)
 
#define CV_RELATIVE_L1   (CV_RELATIVE | CV_L1)
 
#define CV_RELATIVE_L2   (CV_RELATIVE | CV_L2)
 

Flags for cvReduce

#define CV_REDUCE_SUM   0
 
#define CV_REDUCE_AVG   1
 
#define CV_REDUCE_MAX   2
 
#define CV_REDUCE_MIN   3
 

Flags for cvDFT, cvDCT and cvMulSpectrums

#define CV_DXT_FORWARD   0
 
#define CV_DXT_INVERSE   1
 
#define CV_DXT_SCALE   2
 
#define CV_DXT_INV_SCALE   (CV_DXT_INVERSE + CV_DXT_SCALE)
 
#define CV_DXT_INVERSE_SCALE   CV_DXT_INV_SCALE
 
#define CV_DXT_ROWS   4
 
#define CV_DXT_MUL_CONJ   8
 

Graph

We represent a graph as a set of vertices. Vertices contain their adjacency lists (more exactly, pointers to first incoming or outcoming edge (or 0 if isolated vertex)). Edges are stored in another set. There is a singly-linked list of incoming/outcoming edges for each vertex.

Each edge consists of:

  • Two pointers to the starting and ending vertices (vtx[0] and vtx[1] respectively).

    A graph may be oriented or not. In the latter case, edges between vertex i to vertex j are not distinguished during search operations.

  • Two pointers to next edges for the starting and ending vertices, where next[0] points to the next edge in the vtx[0] adjacency list and next[1] points to the next edge in the vtx[1] adjacency list.
See also
CvGraphEdge, CvGraphVtx, CvGraphVtx2D, CvGraph
#define CV_GRAPH_EDGE_FIELDS()
 
#define CV_GRAPH_VERTEX_FIELDS()
 
#define CV_GRAPH_FIELDS()
 
#define CV_TYPE_NAME_GRAPH   "opencv-graph"
 

Detailed Description

Macro Definition Documentation

§ CV_ARE_CNS_EQ

#define CV_ARE_CNS_EQ (   mat1,
  mat2 
)    ((((mat1)->type ^ (mat2)->type) & CV_MAT_CN_MASK) == 0)

§ CV_ARE_DEPTHS_EQ

#define CV_ARE_DEPTHS_EQ (   mat1,
  mat2 
)    ((((mat1)->type ^ (mat2)->type) & CV_MAT_DEPTH_MASK) == 0)

§ CV_ARE_SIZES_EQ

#define CV_ARE_SIZES_EQ (   mat1,
  mat2 
)    ((mat1)->rows == (mat2)->rows && (mat1)->cols == (mat2)->cols)

§ CV_ARE_TYPES_EQ

#define CV_ARE_TYPES_EQ (   mat1,
  mat2 
)    ((((mat1)->type ^ (mat2)->type) & CV_MAT_TYPE_MASK) == 0)

§ CV_ASSERT

#define CV_ASSERT (   Condition)
Value:
{ \
if( !(Condition) ) \
CV_ERROR( CV_StsInternal, "Assertion: " #Condition " failed" ); \
}
Definition: types_c.h:146

Runtime assertion macro

§ CV_AUTO_STEP

#define CV_AUTO_STEP   0x7fffffff

§ CV_AUTOSTEP

#define CV_AUTOSTEP   0x7fffffff

§ CV_BACK

#define CV_BACK   0

§ CV_C

#define CV_C   1

§ CV_CALL

#define CV_CALL (   Func)
Value:
{ \
Func; \
CV_CHECK(); \
}

CV_CALL macro calls CV (or IPL) function, checks error status and signals a error if the function failed. Useful in "parent node" error processing mode

§ CV_CHECK

#define CV_CHECK ( )
Value:
{ \
if( cvGetErrStatus() < 0 ) \
CV_ERROR( CV_StsBackTrace, "Inner function failed." ); \
}
Definition: types_c.h:144
int cvGetErrStatus(void)

CV_CHECK macro checks error status after CV (or IPL) function call. If error detected, control will be transferred to the exit label.

§ CV_CHECK_QUIET

#define CV_CHECK_QUIET   2

§ CV_CHECK_RANGE

#define CV_CHECK_RANGE   1

§ CV_CHOLESKY

#define CV_CHOLESKY   3

§ CV_CMP

#define CV_CMP (   a,
 
)    (((a) > (b)) - ((a) < (b)))

§ CV_CMP_EQ

#define CV_CMP_EQ   0

§ CV_CMP_GE

#define CV_CMP_GE   2

§ CV_CMP_GT

#define CV_CMP_GT   1

§ CV_CMP_LE

#define CV_CMP_LE   4

§ CV_CMP_LT

#define CV_CMP_LT   3

§ CV_CMP_NE

#define CV_CMP_NE   5

§ CV_CONTOUR_FIELDS

#define CV_CONTOUR_FIELDS ( )
Value:
CvRect rect; \
int color; \
int reserved[3];
#define CV_SEQUENCE_FIELDS()
Definition: types_c.h:1547

§ CV_COVAR_COLS

#define CV_COVAR_COLS   16

flag for cvCalcCovarMatrix, all the input vectors are stored in a single matrix, as its columns

§ CV_COVAR_NORMAL

#define CV_COVAR_NORMAL   1

flag for cvCalcCovarMatrix, [v1-avg, v2-avg,...] * transpose([v1-avg,v2-avg,...])

§ CV_COVAR_ROWS

#define CV_COVAR_ROWS   8

flag for cvCalcCovarMatrix, all the input vectors are stored in a single matrix, as its rows

§ CV_COVAR_SCALE

#define CV_COVAR_SCALE   4

flag for cvCalcCovarMatrix, scale the covariance matrix coefficients by number of the vectors

§ CV_COVAR_SCRAMBLED

#define CV_COVAR_SCRAMBLED   0

flag for cvCalcCovarMatrix, transpose([v1-avg, v2-avg,...]) * [v1-avg,v2-avg,...]

§ CV_COVAR_USE_AVG

#define CV_COVAR_USE_AVG   2

flag for cvCalcCovarMatrix, do not calc average (i.e. mean vector) - use the input vector instead (useful for calculating covariance matrix by parts)

§ CV_CURRENT_POINT

#define CV_CURRENT_POINT (   reader)    (*((CvPoint*)((reader).ptr)))

§ CV_DIFF

#define CV_DIFF   16

§ CV_DIFF_C

#define CV_DIFF_C   (CV_DIFF | CV_C)

§ CV_DIFF_L1

#define CV_DIFF_L1   (CV_DIFF | CV_L1)

§ CV_DIFF_L2

#define CV_DIFF_L2   (CV_DIFF | CV_L2)

§ CV_DXT_FORWARD

#define CV_DXT_FORWARD   0

§ CV_DXT_INV_SCALE

#define CV_DXT_INV_SCALE   (CV_DXT_INVERSE + CV_DXT_SCALE)

§ CV_DXT_INVERSE

#define CV_DXT_INVERSE   1

§ CV_DXT_INVERSE_SCALE

#define CV_DXT_INVERSE_SCALE   CV_DXT_INV_SCALE

§ CV_DXT_MUL_CONJ

#define CV_DXT_MUL_CONJ   8

conjugate the second argument of cvMulSpectrums

§ CV_DXT_ROWS

#define CV_DXT_ROWS   4

transform each row individually

§ CV_DXT_SCALE

#define CV_DXT_SCALE   2

divide result by size of array

§ CV_ErrModeLeaf

#define CV_ErrModeLeaf   0 /* Print error and exit program */

§ CV_ErrModeParent

#define CV_ErrModeParent   1 /* Print error and continue */

§ CV_ErrModeSilent

#define CV_ErrModeSilent   2 /* Don't print and continue */

§ CV_ERROR

#define CV_ERROR (   Code,
  Msg 
)
Value:
{ \
cvError( (Code), cvFuncName, Msg, __FILE__, __LINE__ ); \
__CV_EXIT__; \
}
Code
error codes
Definition: base.hpp:68

CV_ERROR macro unconditionally raises error with passed code and message. After raising error, control will be transferred to the exit label.

§ CV_FRONT

#define CV_FRONT   1

§ CV_FUNCNAME

#define CV_FUNCNAME (   Name)    static char cvFuncName[] = Name

CV_FUNCNAME macro defines icvFuncName constant which is used by CV_ERROR macro

§ CV_GEMM_A_T

#define CV_GEMM_A_T   1

§ CV_GEMM_B_T

#define CV_GEMM_B_T   2

§ CV_GEMM_C_T

#define CV_GEMM_C_T   4

§ CV_GET_SEQ_ELEM

#define CV_GET_SEQ_ELEM (   elem_type,
  seq,
  index 
)    CV_SEQ_ELEM( (seq), elem_type, (index) )

§ CV_GRAPH

#define CV_GRAPH   CV_SEQ_KIND_GRAPH

§ CV_GRAPH_ALL_ITEMS

#define CV_GRAPH_ALL_ITEMS   -1

§ CV_GRAPH_ANY_EDGE

#define CV_GRAPH_ANY_EDGE   30

§ CV_GRAPH_BACK_EDGE

#define CV_GRAPH_BACK_EDGE   4

§ CV_GRAPH_BACKTRACKING

#define CV_GRAPH_BACKTRACKING   64

§ CV_GRAPH_CROSS_EDGE

#define CV_GRAPH_CROSS_EDGE   16

§ CV_GRAPH_EDGE_FIELDS

#define CV_GRAPH_EDGE_FIELDS ( )
Value:
int flags; \
float weight; \
struct CvGraphEdge* next[2]; \
struct CvGraphVtx* vtx[2];
Definition: types_c.h:1644
Definition: types_c.h:1650

§ CV_GRAPH_FIELDS

#define CV_GRAPH_FIELDS ( )
Value:
CvSet* edges;
#define CV_SET_FIELDS()
Definition: types_c.h:1592

Graph is "derived" from the set (this is set a of vertices) and includes another set (edges)

§ CV_GRAPH_FLAG_ORIENTED

#define CV_GRAPH_FLAG_ORIENTED   (1 << CV_SEQ_FLAG_SHIFT)

flags for graphs

§ CV_GRAPH_FORWARD_EDGE

#define CV_GRAPH_FORWARD_EDGE   8

§ CV_GRAPH_FORWARD_EDGE_FLAG

#define CV_GRAPH_FORWARD_EDGE_FLAG   (1 << 28)

§ CV_GRAPH_ITEM_VISITED_FLAG

#define CV_GRAPH_ITEM_VISITED_FLAG   (1 << 30)

flags for graph vertices and edges

§ CV_GRAPH_NEW_TREE

#define CV_GRAPH_NEW_TREE   32

§ CV_GRAPH_OVER

#define CV_GRAPH_OVER   -1

§ CV_GRAPH_SEARCH_TREE_NODE_FLAG

#define CV_GRAPH_SEARCH_TREE_NODE_FLAG   (1 << 29)

§ CV_GRAPH_TREE_EDGE

#define CV_GRAPH_TREE_EDGE   2

§ CV_GRAPH_VERTEX

#define CV_GRAPH_VERTEX   1

§ CV_GRAPH_VERTEX_FIELDS

#define CV_GRAPH_VERTEX_FIELDS ( )
Value:
int flags; \
struct CvGraphEdge* first;
Definition: types_c.h:1644

§ CV_HIST_ARRAY

#define CV_HIST_ARRAY   0

§ CV_HIST_HAS_RANGES

#define CV_HIST_HAS_RANGES (   hist)    (((hist)->type & CV_HIST_RANGES_FLAG) != 0)

§ CV_HIST_MAGIC_VAL

#define CV_HIST_MAGIC_VAL   0x42450000

§ CV_HIST_RANGES_FLAG

#define CV_HIST_RANGES_FLAG   (1 << 11)

indicates whether bin ranges are set already or not

§ CV_HIST_SPARSE

#define CV_HIST_SPARSE   1

§ CV_HIST_TREE

#define CV_HIST_TREE   CV_HIST_SPARSE

§ CV_HIST_UNIFORM

#define CV_HIST_UNIFORM   1

should be used as a parameter only, it turns to CV_HIST_UNIFORM_FLAG of hist->type

§ CV_HIST_UNIFORM_FLAG

#define CV_HIST_UNIFORM_FLAG   (1 << 10)

§ CV_IABS

#define CV_IABS (   a)    abs(a)

absolute value without jumps

§ CV_IMAGE_ELEM

#define CV_IMAGE_ELEM (   image,
  elemtype,
  row,
  col 
)    (((elemtype*)((image)->imageData + (image)->widthStep*(row)))[(col)])

get reference to pixel at (col,row), for multi-channel images (col) should be multiplied by number of channels

§ CV_IMAX

#define CV_IMAX (   a,
 
)    ((a) ^ (((a)^(b)) & (((a) > (b)) - 1)))

§ CV_IMIN

#define CV_IMIN (   a,
 
)    ((a) ^ (((a)^(b)) & (((a) < (b)) - 1)))

min & max without jumps

§ CV_IS_GRAPH

#define CV_IS_GRAPH (   seq)    (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_GRAPH)

§ CV_IS_GRAPH_EDGE_VISITED

#define CV_IS_GRAPH_EDGE_VISITED (   edge)    (((CvGraphEdge*)(edge))->flags & CV_GRAPH_ITEM_VISITED_FLAG)

§ CV_IS_GRAPH_ORIENTED

#define CV_IS_GRAPH_ORIENTED (   seq)    (((seq)->flags & CV_GRAPH_FLAG_ORIENTED) != 0)

§ CV_IS_GRAPH_VERTEX_VISITED

#define CV_IS_GRAPH_VERTEX_VISITED (   vtx)    (((CvGraphVtx*)(vtx))->flags & CV_GRAPH_ITEM_VISITED_FLAG)

§ CV_IS_HIST

#define CV_IS_HIST (   hist)
Value:
((hist) != NULL && \
(((CvHistogram*)(hist))->type & CV_MAGIC_MASK) == CV_HIST_MAGIC_VAL && \
(hist)->bins != NULL)
Definition: types_c.h:811
#define CV_MAGIC_MASK
Definition: types_c.h:442
#define CV_HIST_MAGIC_VAL
Definition: types_c.h:797

§ CV_IS_IMAGE

#define CV_IS_IMAGE (   img)    (CV_IS_IMAGE_HDR(img) && ((IplImage*)img)->imageData != NULL)

§ CV_IS_IMAGE_HDR

#define CV_IS_IMAGE_HDR (   img)    ((img) != NULL && ((const IplImage*)(img))->nSize == sizeof(IplImage))

§ CV_IS_MASK_ARR

#define CV_IS_MASK_ARR (   mat)    (((mat)->type & (CV_MAT_TYPE_MASK & ~CV_8SC1)) == 0)

§ CV_IS_MAT

#define CV_IS_MAT (   mat)    (CV_IS_MAT_HDR(mat) && ((const CvMat*)(mat))->data.ptr != NULL)

§ CV_IS_MAT_CONST

#define CV_IS_MAT_CONST (   mat)    (((mat)->rows|(mat)->cols) == 1)

§ CV_IS_MAT_HDR

#define CV_IS_MAT_HDR (   mat)
Value:
((mat) != NULL && \
(((const CvMat*)(mat))->type & CV_MAGIC_MASK) == CV_MAT_MAGIC_VAL && \
((const CvMat*)(mat))->cols > 0 && ((const CvMat*)(mat))->rows > 0)
#define CV_MAGIC_MASK
Definition: types_c.h:442
Definition: types_c.h:462
#define CV_MAT_MAGIC_VAL
Definition: types_c.h:443

§ CV_IS_MAT_HDR_Z

#define CV_IS_MAT_HDR_Z (   mat)
Value:
((mat) != NULL && \
(((const CvMat*)(mat))->type & CV_MAGIC_MASK) == CV_MAT_MAGIC_VAL && \
((const CvMat*)(mat))->cols >= 0 && ((const CvMat*)(mat))->rows >= 0)
#define CV_MAGIC_MASK
Definition: types_c.h:442
Definition: types_c.h:462
#define CV_MAT_MAGIC_VAL
Definition: types_c.h:443

§ CV_IS_MATND

#define CV_IS_MATND (   mat)    (CV_IS_MATND_HDR(mat) && ((const CvMatND*)(mat))->data.ptr != NULL)

§ CV_IS_MATND_HDR

#define CV_IS_MATND_HDR (   mat)    ((mat) != NULL && (((const CvMatND*)(mat))->type & CV_MAGIC_MASK) == CV_MATND_MAGIC_VAL)

§ CV_IS_SEQ

#define CV_IS_SEQ (   seq)    ((seq) != NULL && (((CvSeq*)(seq))->flags & CV_MAGIC_MASK) == CV_SEQ_MAGIC_VAL)

§ CV_IS_SEQ_CHAIN

#define CV_IS_SEQ_CHAIN (   seq)    (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && (seq)->elem_size == 1)

§ CV_IS_SEQ_CHAIN_CONTOUR

#define CV_IS_SEQ_CHAIN_CONTOUR (   seq)    (CV_IS_SEQ_CHAIN( seq ) && CV_IS_SEQ_CLOSED( seq ))

§ CV_IS_SEQ_CLOSED

#define CV_IS_SEQ_CLOSED (   seq)    (((seq)->flags & CV_SEQ_FLAG_CLOSED) != 0)

§ CV_IS_SEQ_CONTOUR

#define CV_IS_SEQ_CONTOUR (   seq)    (CV_IS_SEQ_CLOSED(seq) && (CV_IS_SEQ_POLYLINE(seq) || CV_IS_SEQ_CHAIN(seq)))

§ CV_IS_SEQ_CONVEX

#define CV_IS_SEQ_CONVEX (   seq)    0

§ CV_IS_SEQ_CURVE

#define CV_IS_SEQ_CURVE (   seq)    (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE)

§ CV_IS_SEQ_HOLE

#define CV_IS_SEQ_HOLE (   seq)    (((seq)->flags & CV_SEQ_FLAG_HOLE) != 0)

§ CV_IS_SEQ_INDEX

#define CV_IS_SEQ_INDEX (   seq)
Value:
#define CV_SEQ_KIND_GENERIC
Definition: types_c.h:1736
#define CV_SEQ_KIND(seq)
Definition: types_c.h:1780
#define CV_SEQ_ELTYPE(seq)
Definition: types_c.h:1779
#define CV_SEQ_ELTYPE_INDEX
Definition: types_c.h:1725

flag checking

§ CV_IS_SEQ_POINT_SET

#define CV_IS_SEQ_POINT_SET (   seq)    ((CV_SEQ_ELTYPE(seq) == CV_32SC2 || CV_SEQ_ELTYPE(seq) == CV_32FC2))

type checking macros

§ CV_IS_SEQ_POINT_SUBSET

#define CV_IS_SEQ_POINT_SUBSET (   seq)    (CV_IS_SEQ_INDEX( seq ) || CV_SEQ_ELTYPE(seq) == CV_SEQ_ELTYPE_PPOINT)

§ CV_IS_SEQ_POLYGON

#define CV_IS_SEQ_POLYGON (   seq)    (CV_IS_SEQ_POLYLINE(seq) && CV_IS_SEQ_CLOSED(seq))

§ CV_IS_SEQ_POLYGON_TREE

#define CV_IS_SEQ_POLYGON_TREE (   seq)
Value:
CV_SEQ_KIND( seq ) == CV_SEQ_KIND_BIN_TREE )
#define CV_SEQ_ELTYPE_TRIAN_ATR
Definition: types_c.h:1728
#define CV_SEQ_KIND_BIN_TREE
Definition: types_c.h:1738
#define CV_SEQ_ELTYPE(seq)
Definition: types_c.h:1779

§ CV_IS_SEQ_POLYLINE

#define CV_IS_SEQ_POLYLINE (   seq)    (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && CV_IS_SEQ_POINT_SET(seq))

§ CV_IS_SEQ_SIMPLE

#define CV_IS_SEQ_SIMPLE (   seq)    1

§ CV_IS_SET

#define CV_IS_SET (   set)    ((set) != NULL && (((CvSeq*)(set))->flags & CV_MAGIC_MASK) == CV_SET_MAGIC_VAL)

§ CV_IS_SET_ELEM

#define CV_IS_SET_ELEM (   ptr)    (((CvSetElem*)(ptr))->flags >= 0)

Checks whether the element pointed by ptr belongs to a set or not

§ CV_IS_SPARSE_HIST

#define CV_IS_SPARSE_HIST (   hist)    CV_IS_SPARSE_MAT((hist)->bins)

§ CV_IS_SPARSE_MAT

#define CV_IS_SPARSE_MAT (   mat)    CV_IS_SPARSE_MAT_HDR(mat)

§ CV_IS_SPARSE_MAT_HDR

#define CV_IS_SPARSE_MAT_HDR (   mat)
Value:
((mat) != NULL && \
(((const CvSparseMat*)(mat))->type & CV_MAGIC_MASK) == CV_SPARSE_MAT_MAGIC_VAL)
Definition: types_c.h:740
#define CV_SPARSE_MAT_MAGIC_VAL
Definition: types_c.h:735
#define CV_MAGIC_MASK
Definition: types_c.h:442

§ CV_IS_STORAGE

#define CV_IS_STORAGE (   storage)
Value:
((storage) != NULL && \
(((CvMemStorage*)(storage))->signature & CV_MAGIC_MASK) == CV_STORAGE_MAGIC_VAL)
#define CV_MAGIC_MASK
Definition: types_c.h:442
Definition: types_c.h:1491
#define CV_STORAGE_MAGIC_VAL
Definition: types_c.h:1489

§ CV_IS_SUBDIV2D

#define CV_IS_SUBDIV2D (   seq)    (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_SUBDIV2D)

§ CV_IS_UNIFORM_HIST

#define CV_IS_UNIFORM_HIST (   hist)    (((hist)->type & CV_HIST_UNIFORM_FLAG) != 0)

§ CV_KMEANS_USE_INITIAL_LABELS

#define CV_KMEANS_USE_INITIAL_LABELS   1

The function implements the K-means algorithm for clustering an array of sample vectors in a specified number of classes

§ CV_L1

#define CV_L1   2

§ CV_L2

#define CV_L2   4

§ CV_LU

#define CV_LU   0

§ CV_MAGIC_MASK

#define CV_MAGIC_MASK   0xFFFF0000

§ CV_MAT_ELEM

#define CV_MAT_ELEM (   mat,
  elemtype,
  row,
  col 
)    (*(elemtype*)CV_MAT_ELEM_PTR_FAST( mat, row, col, sizeof(elemtype)))

§ CV_MAT_ELEM_PTR

#define CV_MAT_ELEM_PTR (   mat,
  row,
  col 
)    CV_MAT_ELEM_PTR_FAST( mat, row, col, CV_ELEM_SIZE((mat).type) )

§ CV_MAT_ELEM_PTR_FAST

#define CV_MAT_ELEM_PTR_FAST (   mat,
  row,
  col,
  pix_size 
)
Value:
(assert( (unsigned)(row) < (unsigned)(mat).rows && \
(unsigned)(col) < (unsigned)(mat).cols ), \
(mat).data.ptr + (size_t)(mat).step*(row) + (pix_size)*(col))

§ CV_MAT_MAGIC_VAL

#define CV_MAT_MAGIC_VAL   0x42420000

§ CV_MATND_MAGIC_VAL

#define CV_MATND_MAGIC_VAL   0x42430000

§ CV_MAX_ARR

#define CV_MAX_ARR   10

§ CV_MAX_DIM

#define CV_MAX_DIM   32

§ CV_MINMAX

#define CV_MINMAX   32

§ CV_NEXT_GRAPH_EDGE

#define CV_NEXT_GRAPH_EDGE (   edge,
  vertex 
)
Value:
(assert((edge)->vtx[0] == (vertex) || (edge)->vtx[1] == (vertex)), \
(edge)->next[(edge)->vtx[1] == (vertex)])

Return next graph edge for given vertex:

§ CV_NEXT_SEQ_ELEM

#define CV_NEXT_SEQ_ELEM (   elem_size,
  reader 
)
Value:
{ \
if( ((reader).ptr += (elem_size)) >= (reader).block_max ) \
{ \
cvChangeSeqBlock( &(reader), 1 ); \
} \
}

Move reader position forward:

§ CV_NO_CN_CHECK

#define CV_NO_CN_CHECK   2

§ CV_NO_DEPTH_CHECK

#define CV_NO_DEPTH_CHECK   1

§ CV_NO_SIZE_CHECK

#define CV_NO_SIZE_CHECK   4

§ CV_NODE_IDX

#define CV_NODE_IDX (   mat,
  node 
)    ((int*)((uchar*)(node) + (mat)->idxoffset))

§ CV_NODE_VAL

#define CV_NODE_VAL (   mat,
  node 
)    ((void*)((uchar*)(node) + (mat)->valoffset))

§ CV_NORM_MASK

#define CV_NORM_MASK   7

§ CV_NORMAL

#define CV_NORMAL   16

§ CV_ORIENTED_GRAPH

#define CV_ORIENTED_GRAPH   (CV_SEQ_KIND_GRAPH|CV_GRAPH_FLAG_ORIENTED)

§ CV_PCA_DATA_AS_COL

#define CV_PCA_DATA_AS_COL   1

§ CV_PCA_DATA_AS_ROW

#define CV_PCA_DATA_AS_ROW   0

§ CV_PCA_USE_AVG

#define CV_PCA_USE_AVG   2

§ CV_PREV_POINT

#define CV_PREV_POINT (   reader)    (*((CvPoint*)((reader).prev_elem)))

§ CV_PREV_SEQ_ELEM

#define CV_PREV_SEQ_ELEM (   elem_size,
  reader 
)
Value:
{ \
if( ((reader).ptr -= (elem_size)) < (reader).block_min ) \
{ \
cvChangeSeqBlock( &(reader), -1 ); \
} \
}

Move reader position backward:

§ CV_QR

#define CV_QR   4

§ CV_RAND_NORMAL

#define CV_RAND_NORMAL   1

§ CV_RAND_UNI

#define CV_RAND_UNI   0

§ CV_READ_CHAIN_POINT

#define CV_READ_CHAIN_POINT (   _pt,
  reader 
)
Value:
{ \
(_pt) = (reader).pt; \
if( (reader).ptr ) \
{ \
CV_READ_SEQ_ELEM( (reader).code, (reader)); \
assert( ((reader).code & ~7) == 0 ); \
(reader).pt.x += (reader).deltas[(int)(reader).code][0]; \
(reader).pt.y += (reader).deltas[(int)(reader).code][1]; \
} \
}

§ CV_READ_EDGE

#define CV_READ_EDGE (   pt1,
  pt2,
  reader 
)
Value:
{ \
assert( sizeof(pt1) == sizeof(CvPoint) && \
sizeof(pt2) == sizeof(CvPoint) && \
reader.seq->elem_size == sizeof(CvPoint)); \
(pt1) = CV_PREV_POINT( reader ); \
(pt2) = CV_CURRENT_POINT( reader ); \
(reader).prev_elem = (reader).ptr; \
CV_NEXT_SEQ_ELEM( sizeof(CvPoint), (reader)); \
}
#define CV_CURRENT_POINT(reader)
Definition: types_c.h:1962
Definition: types_c.h:944
#define CV_PREV_POINT(reader)
Definition: types_c.h:1963

§ CV_READ_SEQ_ELEM

#define CV_READ_SEQ_ELEM (   elem,
  reader 
)
Value:
{ \
assert( (reader).seq->elem_size == sizeof(elem)); \
memcpy( &(elem), (reader).ptr, sizeof((elem))); \
CV_NEXT_SEQ_ELEM( sizeof(elem), reader ) \
}

Read element and move read position forward:

§ CV_REDUCE_AVG

#define CV_REDUCE_AVG   1

§ CV_REDUCE_MAX

#define CV_REDUCE_MAX   2

§ CV_REDUCE_MIN

#define CV_REDUCE_MIN   3

§ CV_REDUCE_SUM

#define CV_REDUCE_SUM   0

§ CV_RELATIVE

#define CV_RELATIVE   8

§ CV_RELATIVE_C

#define CV_RELATIVE_C   (CV_RELATIVE | CV_C)

§ CV_RELATIVE_L1

#define CV_RELATIVE_L1   (CV_RELATIVE | CV_L1)

§ CV_RELATIVE_L2

#define CV_RELATIVE_L2   (CV_RELATIVE | CV_L2)

§ CV_REV_READ_SEQ_ELEM

#define CV_REV_READ_SEQ_ELEM (   elem,
  reader 
)
Value:
{ \
assert( (reader).seq->elem_size == sizeof(elem)); \
memcpy(&(elem), (reader).ptr, sizeof((elem))); \
CV_PREV_SEQ_ELEM( sizeof(elem), reader ) \
}

Read element and move read position backward:

§ CV_RNG_COEFF

#define CV_RNG_COEFF   4164903690U

§ CV_SEQ_CHAIN

#define CV_SEQ_CHAIN   (CV_SEQ_KIND_CURVE | CV_SEQ_ELTYPE_CODE)

chain-coded curves

§ CV_SEQ_CHAIN_CONTOUR

#define CV_SEQ_CHAIN_CONTOUR   (CV_SEQ_FLAG_CLOSED | CV_SEQ_CHAIN)

§ CV_SEQ_CONNECTED_COMP

#define CV_SEQ_CONNECTED_COMP   (CV_SEQ_KIND_GENERIC | CV_SEQ_ELTYPE_CONNECTED_COMP)

sequence of the connected components

§ CV_SEQ_CONTOUR

#define CV_SEQ_CONTOUR   CV_SEQ_POLYGON

§ CV_SEQ_ELEM

#define CV_SEQ_ELEM (   seq,
  elem_type,
  index 
)
Value:
\
( assert(sizeof((seq)->first[0]) == sizeof(CvSeqBlock) && \
(seq)->elem_size == sizeof(elem_type)), \
(elem_type*)((seq)->first && (unsigned)index < \
(unsigned)((seq)->first->count) ? \
(seq)->first->data + (index) * sizeof(elem_type) : \
cvGetSeqElem( (CvSeq*)(seq), (index) )))
Definition: types_c.h:1517
Definition: gr_skig.hpp:77
schar * cvGetSeqElem(const CvSeq *seq, int index)
Definition: types_c.h:1567

§ CV_SEQ_ELTYPE

#define CV_SEQ_ELTYPE (   seq)    ((seq)->flags & CV_SEQ_ELTYPE_MASK)

§ CV_SEQ_ELTYPE_BITS

#define CV_SEQ_ELTYPE_BITS   12

§ CV_SEQ_ELTYPE_CODE

#define CV_SEQ_ELTYPE_CODE   CV_8UC1

freeman code: 0..7

§ CV_SEQ_ELTYPE_CONNECTED_COMP

#define CV_SEQ_ELTYPE_CONNECTED_COMP   0

connected component

§ CV_SEQ_ELTYPE_GENERIC

#define CV_SEQ_ELTYPE_GENERIC   0

§ CV_SEQ_ELTYPE_GRAPH_EDGE

#define CV_SEQ_ELTYPE_GRAPH_EDGE   0

&next_o, &next_d, &vtx_o, &vtx_d

§ CV_SEQ_ELTYPE_GRAPH_VERTEX

#define CV_SEQ_ELTYPE_GRAPH_VERTEX   0

first_edge, &(x,y)

§ CV_SEQ_ELTYPE_INDEX

#define CV_SEQ_ELTYPE_INDEX   CV_32SC1

#(x,y)

§ CV_SEQ_ELTYPE_MASK

#define CV_SEQ_ELTYPE_MASK   ((1 << CV_SEQ_ELTYPE_BITS) - 1)

§ CV_SEQ_ELTYPE_POINT

#define CV_SEQ_ELTYPE_POINT   CV_32SC2

(x,y)

§ CV_SEQ_ELTYPE_POINT3D

#define CV_SEQ_ELTYPE_POINT3D   CV_32FC3

(x,y,z)

§ CV_SEQ_ELTYPE_PPOINT

#define CV_SEQ_ELTYPE_PPOINT   CV_SEQ_ELTYPE_PTR

&(x,y)

§ CV_SEQ_ELTYPE_PTR

#define CV_SEQ_ELTYPE_PTR   CV_MAKE_TYPE(CV_8U, 8 /*sizeof(void*)*/)

§ CV_SEQ_ELTYPE_TRIAN_ATR

#define CV_SEQ_ELTYPE_TRIAN_ATR   0

vertex of the binary tree

§ CV_SEQ_FLAG_CLOSED

#define CV_SEQ_FLAG_CLOSED   (1 << CV_SEQ_FLAG_SHIFT)

flags for curves

§ CV_SEQ_FLAG_CONVEX

#define CV_SEQ_FLAG_CONVEX   (0 << CV_SEQ_FLAG_SHIFT)

§ CV_SEQ_FLAG_HOLE

#define CV_SEQ_FLAG_HOLE   (2 << CV_SEQ_FLAG_SHIFT)

§ CV_SEQ_FLAG_SHIFT

#define CV_SEQ_FLAG_SHIFT   (CV_SEQ_KIND_BITS + CV_SEQ_ELTYPE_BITS)

§ CV_SEQ_FLAG_SIMPLE

#define CV_SEQ_FLAG_SIMPLE   (0 << CV_SEQ_FLAG_SHIFT)

§ CV_SEQ_INDEX

#define CV_SEQ_INDEX   (CV_SEQ_KIND_GENERIC | CV_SEQ_ELTYPE_INDEX)

sequence of the integer numbers

§ CV_SEQ_KIND

#define CV_SEQ_KIND (   seq)    ((seq)->flags & CV_SEQ_KIND_MASK )

§ CV_SEQ_KIND_BIN_TREE

#define CV_SEQ_KIND_BIN_TREE   (2 << CV_SEQ_ELTYPE_BITS)

§ CV_SEQ_KIND_BITS

#define CV_SEQ_KIND_BITS   2

§ CV_SEQ_KIND_CURVE

#define CV_SEQ_KIND_CURVE   (1 << CV_SEQ_ELTYPE_BITS)

§ CV_SEQ_KIND_GENERIC

#define CV_SEQ_KIND_GENERIC   (0 << CV_SEQ_ELTYPE_BITS)

types of sequences

§ CV_SEQ_KIND_GRAPH

#define CV_SEQ_KIND_GRAPH   (1 << CV_SEQ_ELTYPE_BITS)

types of sparse sequences (sets)

§ CV_SEQ_KIND_MASK

#define CV_SEQ_KIND_MASK   (((1 << CV_SEQ_KIND_BITS) - 1)<<CV_SEQ_ELTYPE_BITS)

§ CV_SEQ_KIND_SUBDIV2D

#define CV_SEQ_KIND_SUBDIV2D   (2 << CV_SEQ_ELTYPE_BITS)

§ CV_SEQ_MAGIC_VAL

#define CV_SEQ_MAGIC_VAL   0x42990000

§ CV_SEQ_POINT3D_SET

#define CV_SEQ_POINT3D_SET   (CV_SEQ_KIND_GENERIC| CV_SEQ_ELTYPE_POINT3D)

§ CV_SEQ_POINT_SET

#define CV_SEQ_POINT_SET   (CV_SEQ_KIND_GENERIC| CV_SEQ_ELTYPE_POINT)

point sets

§ CV_SEQ_POLYGON

#define CV_SEQ_POLYGON   (CV_SEQ_FLAG_CLOSED | CV_SEQ_POLYLINE )

§ CV_SEQ_POLYGON_TREE

#define CV_SEQ_POLYGON_TREE   (CV_SEQ_KIND_BIN_TREE | CV_SEQ_ELTYPE_TRIAN_ATR)

binary tree for the contour

§ CV_SEQ_POLYLINE

#define CV_SEQ_POLYLINE   (CV_SEQ_KIND_CURVE | CV_SEQ_ELTYPE_POINT)

§ CV_SEQ_READER_FIELDS

#define CV_SEQ_READER_FIELDS ( )
Value:
int header_size; \
CvSeq* seq; \
CvSeqBlock* block; \
schar* ptr; \
schar* block_min; \
schar* block_max; \
int delta_index; \
schar* prev_elem;

pointer to previous element

§ CV_SEQ_SIMPLE_POLYGON

#define CV_SEQ_SIMPLE_POLYGON   (CV_SEQ_FLAG_SIMPLE | CV_SEQ_POLYGON )

§ CV_SEQ_WRITER_FIELDS

#define CV_SEQ_WRITER_FIELDS ( )
Value:
int header_size; \
CvSeq* seq; \
CvSeqBlock* block; \
schar* ptr; \
schar* block_min; \
schar* block_max;

pointer to the end of block

§ CV_SEQUENCE_FIELDS

#define CV_SEQUENCE_FIELDS ( )
Value:
int total; \
int elem_size; \
schar* block_max; \
schar* ptr; \
int delta_elems; \
CvMemStorage* storage; \
CvSeqBlock* free_blocks; \
CvSeqBlock* first;
#define CV_TREE_NODE_FIELDS(node_type)
Definition: types_c.h:1529
static int total(const MatShape &shape, int start=-1, int end=-1)
Definition: shape_utils.hpp:151
Definition: types_c.h:1567

Read/Write sequence. Elements can be dynamically inserted to or deleted from the sequence.Pointer to the first sequence block.

§ CV_SET_ELEM_FIELDS

#define CV_SET_ELEM_FIELDS (   elem_type)
Value:
int flags; \
struct elem_type* next_free;

Set Order is not preserved. There can be gaps between sequence elements. After the element has been inserted it stays in the same place all the time. The MSB(most-significant or sign bit) of the first field (flags) is 0 iff the element exists.

§ CV_SET_ELEM_FREE_FLAG

#define CV_SET_ELEM_FREE_FLAG   (1 << (sizeof(int)*8-1))

§ CV_SET_ELEM_IDX_MASK

#define CV_SET_ELEM_IDX_MASK   ((1 << 26) - 1)

§ CV_SET_FIELDS

#define CV_SET_FIELDS ( )
Value:
CvSetElem* free_elems; \
int active_count;
#define CV_SEQUENCE_FIELDS()
Definition: types_c.h:1547

§ CV_SET_MAGIC_VAL

#define CV_SET_MAGIC_VAL   0x42980000

§ CV_SIGN

#define CV_SIGN (   a)    CV_CMP((a),0)

§ CV_SORT_ASCENDING

#define CV_SORT_ASCENDING   0

§ CV_SORT_DESCENDING

#define CV_SORT_DESCENDING   16

§ CV_SORT_EVERY_COLUMN

#define CV_SORT_EVERY_COLUMN   1

§ CV_SORT_EVERY_ROW

#define CV_SORT_EVERY_ROW   0

§ CV_SPARSE_MAT_MAGIC_VAL

#define CV_SPARSE_MAT_MAGIC_VAL   0x42440000

§ CV_STORAGE_MAGIC_VAL

#define CV_STORAGE_MAGIC_VAL   0x42890000

§ CV_SVD

#define CV_SVD   1

§ CV_SVD_MODIFY_A

#define CV_SVD_MODIFY_A   1

§ CV_SVD_SYM

#define CV_SVD_SYM   2

§ CV_SVD_U_T

#define CV_SVD_U_T   2

§ CV_SVD_V_T

#define CV_SVD_V_T   4

§ CV_SWAP

#define CV_SWAP (   a,
  b,
 
)    ((t) = (a), (a) = (b), (b) = (t))

§ CV_TERMCRIT_EPS

#define CV_TERMCRIT_EPS   2

§ CV_TERMCRIT_ITER

#define CV_TERMCRIT_ITER   1

§ CV_TERMCRIT_NUMBER

#define CV_TERMCRIT_NUMBER   CV_TERMCRIT_ITER

§ CV_TREE_NODE_FIELDS

#define CV_TREE_NODE_FIELDS (   node_type)
Value:
int flags; \
int header_size; \
struct node_type* h_prev; \
struct node_type* h_next; \
struct node_type* v_prev; \
struct node_type* v_next

2nd next sequence.

§ CV_TURN_ON_IPL_COMPATIBILITY

#define CV_TURN_ON_IPL_COMPATIBILITY ( )
Value:
cvSetIPLAllocators( iplCreateImageHeader, iplAllocateImage, \
iplDeallocate, iplCreateROI, iplCloneImage )
void cvSetIPLAllocators(Cv_iplCreateImageHeader create_header, Cv_iplAllocateImageData allocate_data, Cv_iplDeallocate deallocate, Cv_iplCreateROI create_roi, Cv_iplCloneImage clone_image)
Makes OpenCV use IPL functions for allocating IplImage and IplROI structures.

§ CV_TYPE_NAME_GRAPH

#define CV_TYPE_NAME_GRAPH   "opencv-graph"

§ CV_TYPE_NAME_IMAGE

#define CV_TYPE_NAME_IMAGE   "opencv-image"

§ CV_TYPE_NAME_MAT

#define CV_TYPE_NAME_MAT   "opencv-matrix"

§ CV_TYPE_NAME_MATND

#define CV_TYPE_NAME_MATND   "opencv-nd-matrix"

§ CV_TYPE_NAME_SEQ

#define CV_TYPE_NAME_SEQ   "opencv-sequence"

§ CV_TYPE_NAME_SEQ_TREE

#define CV_TYPE_NAME_SEQ_TREE   "opencv-sequence-tree"

§ CV_TYPE_NAME_SPARSE_MAT

#define CV_TYPE_NAME_SPARSE_MAT   "opencv-sparse-matrix"

§ CV_WHOLE_ARR

#define CV_WHOLE_ARR   cvSlice( 0, 0x3fffffff )

§ CV_WHOLE_SEQ

#define CV_WHOLE_SEQ   cvSlice(0, CV_WHOLE_SEQ_END_INDEX)

§ CV_WHOLE_SEQ_END_INDEX

#define CV_WHOLE_SEQ_END_INDEX   0x3fffffff

§ CV_WRITE_SEQ_ELEM

#define CV_WRITE_SEQ_ELEM (   elem,
  writer 
)
Value:
{ \
assert( (writer).seq->elem_size == sizeof(elem)); \
if( (writer).ptr >= (writer).block_max ) \
{ \
cvCreateSeqBlock( &writer); \
} \
assert( (writer).ptr <= (writer).block_max - sizeof(elem));\
memcpy((writer).ptr, &(elem), sizeof(elem)); \
(writer).ptr += sizeof(elem); \
}

§ CV_WRITE_SEQ_ELEM_VAR

#define CV_WRITE_SEQ_ELEM_VAR (   elem_ptr,
  writer 
)
Value:
{ \
if( (writer).ptr >= (writer).block_max ) \
{ \
cvCreateSeqBlock( &writer); \
} \
memcpy((writer).ptr, elem_ptr, (writer).seq->elem_size);\
(writer).ptr += (writer).seq->elem_size; \
}

Add element to sequence:

§ cvAbs

#define cvAbs (   src,
  dst 
)    cvAbsDiffS( (src), (dst), cvScalarAll(0))

§ cvAXPY

#define cvAXPY (   A,
  real_scalar,
  B,
 
)    cvScaleAdd(A, cvRealScalar(real_scalar), B, C)

§ cvCheckArray

#define cvCheckArray   cvCheckArr

§ cvConvert

#define cvConvert (   src,
  dst 
)    cvConvertScale( (src), (dst), 1, 0 )

§ cvCvtScale

#define cvCvtScale   cvConvertScale

§ cvCvtScaleAbs

#define cvCvtScaleAbs   cvConvertScaleAbs

§ cvFFT

#define cvFFT   cvDFT

§ cvFree

#define cvFree (   ptr)    (cvFree_(*(ptr)), *(ptr)=0)

§ cvGetGraphVtx

#define cvGetGraphVtx (   graph,
  idx 
)    (CvGraphVtx*)cvGetSetElem((CvSet*)(graph), (idx))

Retrieves graph vertex by given index

§ cvGetSubArr

#define cvGetSubArr   cvGetSubRect

§ cvGraphEdgeIdx

#define cvGraphEdgeIdx (   graph,
  edge 
)    ((edge)->flags & CV_SET_ELEM_IDX_MASK)

Retrieves index of a graph edge given its pointer

§ cvGraphFindEdge

#define cvGraphFindEdge   cvFindGraphEdge

§ cvGraphFindEdgeByPtr

#define cvGraphFindEdgeByPtr   cvFindGraphEdgeByPtr

§ cvGraphGetEdgeCount

#define cvGraphGetEdgeCount (   graph)    ((graph)->edges->active_count)

§ cvGraphGetVtxCount

#define cvGraphGetVtxCount (   graph)    ((graph)->active_count)

§ cvGraphVtxIdx

#define cvGraphVtxIdx (   graph,
  vtx 
)    ((vtx)->flags & CV_SET_ELEM_IDX_MASK)

Retrieves index of a graph vertex given its pointer

§ cvInv

#define cvInv   cvInvert

§ cvInvSqrt

#define cvInvSqrt (   value)    ((float)(1./sqrt(value)))

§ cvMahalonobis

#define cvMahalonobis   cvMahalanobis

§ cvMatMul

#define cvMatMul (   src1,
  src2,
  dst 
)    cvMatMulAdd( (src1), (src2), NULL, (dst))

§ cvMatMulAdd

#define cvMatMulAdd (   src1,
  src2,
  src3,
  dst 
)    cvGEMM( (src1), (src2), 1., (src3), 1., (dst), 0 )

Matrix transform: dst = A*B + C, C is optional

§ cvMatMulAddEx

#define cvMatMulAddEx   cvGEMM

§ cvMatMulAddS

#define cvMatMulAddS   cvTransform

§ cvMirror

#define cvMirror   cvFlip

§ cvReshapeND

#define cvReshapeND (   arr,
  header,
  new_cn,
  new_dims,
  new_sizes 
)
Value:
cvReshapeMatND( (arr), sizeof(*(header)), (header), \
(new_cn), (new_dims), (new_sizes))
CvArr * cvReshapeMatND(const CvArr *arr, int sizeof_header, CvArr *header, int new_cn, int new_dims, int *new_sizes)
Changes the shape of a multi-dimensional array without copying the data.

§ cvScale

#define cvScale   cvConvertScale

§ cvSqrt

#define cvSqrt (   value)    ((float)sqrt(value))

§ cvT

#define cvT   cvTranspose

§ cvZero

#define cvZero   cvSetZero

§ IPL2CV_DEPTH

#define IPL2CV_DEPTH (   depth)
Value:
((((CV_8U)+(CV_16U<<4)+(CV_32F<<8)+(CV_64F<<16)+(CV_8S<<20)+ \
(CV_16S<<24)+(CV_32S<<28)) >> ((((depth) & 0xF0) >> 2) + \
(((depth) & IPL_DEPTH_SIGN) ? 20 : 0))) & 15)
#define IPL_DEPTH_SIGN
Definition: types_c.h:281
double depth(InputArray R, InputArray t, InputArray X)
Returns the depth of a point transformed by a rigid transform.
#define CV_8U
Definition: interface.h:73
#define CV_8S
Definition: interface.h:74
#define CV_32F
Definition: interface.h:78
#define CV_64F
Definition: interface.h:79
#define CV_16U
Definition: interface.h:75
#define CV_16S
Definition: interface.h:76

§ IPL_ALIGN_16BYTES

#define IPL_ALIGN_16BYTES   16

§ IPL_ALIGN_32BYTES

#define IPL_ALIGN_32BYTES   32

§ IPL_ALIGN_4BYTES

#define IPL_ALIGN_4BYTES   4

§ IPL_ALIGN_8BYTES

#define IPL_ALIGN_8BYTES   8

§ IPL_ALIGN_DWORD

#define IPL_ALIGN_DWORD   IPL_ALIGN_4BYTES

§ IPL_ALIGN_QWORD

#define IPL_ALIGN_QWORD   IPL_ALIGN_8BYTES

§ IPL_BORDER_CONSTANT

#define IPL_BORDER_CONSTANT   0

§ IPL_BORDER_REFLECT

#define IPL_BORDER_REFLECT   2

§ IPL_BORDER_REFLECT_101

#define IPL_BORDER_REFLECT_101   4

extra border mode

§ IPL_BORDER_REPLICATE

#define IPL_BORDER_REPLICATE   1

§ IPL_BORDER_TRANSPARENT

#define IPL_BORDER_TRANSPARENT   5

§ IPL_BORDER_WRAP

#define IPL_BORDER_WRAP   3

§ IPL_DATA_ORDER_PIXEL

#define IPL_DATA_ORDER_PIXEL   0

§ IPL_DATA_ORDER_PLANE

#define IPL_DATA_ORDER_PLANE   1

§ IPL_DEPTH_16S

#define IPL_DEPTH_16S   (IPL_DEPTH_SIGN|16)

§ IPL_DEPTH_16U

#define IPL_DEPTH_16U   16

§ IPL_DEPTH_1U

#define IPL_DEPTH_1U   1

§ IPL_DEPTH_32F

#define IPL_DEPTH_32F   32

§ IPL_DEPTH_32S

#define IPL_DEPTH_32S   (IPL_DEPTH_SIGN|32)

§ IPL_DEPTH_64F

#define IPL_DEPTH_64F   64

for storing double-precision floating point data in IplImage's

§ IPL_DEPTH_8S

#define IPL_DEPTH_8S   (IPL_DEPTH_SIGN| 8)

§ IPL_DEPTH_8U

#define IPL_DEPTH_8U   8

§ IPL_DEPTH_SIGN

#define IPL_DEPTH_SIGN   0x80000000

§ IPL_IMAGE_DATA

#define IPL_IMAGE_DATA   2

§ IPL_IMAGE_HEADER

#define IPL_IMAGE_HEADER   1

§ IPL_IMAGE_MAGIC_VAL

#define IPL_IMAGE_MAGIC_VAL   ((int)sizeof(IplImage))

§ IPL_IMAGE_ROI

#define IPL_IMAGE_ROI   4

§ IPL_ORIGIN_BL

#define IPL_ORIGIN_BL   1

§ IPL_ORIGIN_TL

#define IPL_ORIGIN_TL   0

§ OPENCV_ASSERT

#define OPENCV_ASSERT (   expr,
  func,
  context 
)
Value:
{if (! (expr)) \
{OPENCV_ERROR(CV_StsInternal,(func),(context));}}
Definition: types_c.h:146
#define OPENCV_ERROR(status, func, context)
Definition: core_c.h:2652

§ OPENCV_CALL

#define OPENCV_CALL (   Func)
Value:
{ \
Func; \
}

§ OPENCV_ERROR

#define OPENCV_ERROR (   status,
  func,
  context 
)    cvError((status),(func),(context),__FILE__,__LINE__)

Typedef Documentation

§ Cv_iplAllocateImageData

typedef void(CV_STDCALL* Cv_iplAllocateImageData) (IplImage *, int, int)

§ Cv_iplCloneImage

typedef IplImage*(CV_STDCALL* Cv_iplCloneImage) (const IplImage *)

§ Cv_iplCreateImageHeader

typedef IplImage*(CV_STDCALL* Cv_iplCreateImageHeader) (int, int, int, char *, char *, int, int, int, int, int, IplROI *, IplImage *, void *, IplTileInfo *)

§ Cv_iplCreateROI

typedef IplROI*(CV_STDCALL* Cv_iplCreateROI) (int, int, int, int, int)

§ Cv_iplDeallocate

typedef void(CV_STDCALL* Cv_iplDeallocate) (IplImage *, int)

§ CvArr

typedef void CvArr

This is the "metatype" used only as a function parameter.

It denotes that the function accepts arrays of multiple types, such as IplImage*, CvMat* or even CvSeq* sometimes. The particular array type is determined at runtime by analyzing the first 4 bytes of the header. In C++ interface the role of CvArr is played by InputArray and OutputArray.

§ CvCmpFunc

typedef int(* CvCmpFunc) (const void *a, const void *b, void *userdata)

a < b ? -1 : a > b ? 1 : 0

§ CvErrorCallback

typedef int( * CvErrorCallback) (int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata)

§ CvHistType

typedef int CvHistType

§ CvPoint2DSeq

§ CvRNG

typedef uint64 CvRNG

§ CVStatus

typedef int CVStatus

§ IplImage

typedef struct _IplImage IplImage

§ IplTileInfo

typedef struct _IplTileInfo IplTileInfo

Enumeration Type Documentation

§ anonymous enum

anonymous enum
See also
cv::Error::Code
Enumerator
CV_StsOk 

everything is ok

CV_StsBackTrace 

pseudo error for back trace

CV_StsError 

unknown /unspecified error

CV_StsInternal 

internal error (bad state)

CV_StsNoMem 

insufficient memory

CV_StsBadArg 

function arg/param is bad

CV_StsBadFunc 

unsupported function

CV_StsNoConv 

iter. didn't converge

CV_StsAutoTrace 

tracing

CV_HeaderIsNull 

image header is NULL

CV_BadImageSize 

image size is invalid

CV_BadOffset 

offset is invalid

CV_BadDataPtr 
CV_BadStep 

image step is wrong, this may happen for a non-continuous matrix

CV_BadModelOrChSeq 
CV_BadNumChannels 

bad number of channels, for example, some functions accept only single channel matrices

CV_BadNumChannel1U 
CV_BadDepth 

input image depth is not supported by the function

CV_BadAlphaChannel 
CV_BadOrder 

number of dimensions is out of range

CV_BadOrigin 

incorrect input origin

CV_BadAlign 

incorrect input align

CV_BadCallBack 
CV_BadTileSize 
CV_BadCOI 

input COI is not supported

CV_BadROISize 

incorrect input roi

CV_MaskIsTiled 
CV_StsNullPtr 

null pointer

CV_StsVecLengthErr 

incorrect vector length

CV_StsFilterStructContentErr 

incorrect filter structure content

CV_StsKernelStructContentErr 

incorrect transform kernel content

CV_StsFilterOffsetErr 

incorrect filter offset value

CV_StsBadSize 

the input/output structure size is incorrect

CV_StsDivByZero 

division by zero

CV_StsInplaceNotSupported 

in-place operation is not supported

CV_StsObjectNotFound 

request can't be completed

CV_StsUnmatchedFormats 

formats of input/output arrays differ

CV_StsBadFlag 

flag is wrong or not supported

CV_StsBadPoint 

bad CvPoint

CV_StsBadMask 

bad format of mask (neither 8uC1 nor 8sC1)

CV_StsUnmatchedSizes 

sizes of input/output structures do not match

CV_StsUnsupportedFormat 

the data format/type is not supported by the function

CV_StsOutOfRange 

some of parameters are out of range

CV_StsParseError 

invalid syntax/structure of the parsed file

CV_StsNotImplemented 

the requested function/feature is not implemented

CV_StsBadMemBlock 

an allocated block has been corrupted

CV_StsAssert 

assertion failed

CV_GpuNotSupported 

no CUDA support

CV_GpuApiCallError 

GPU API call error

CV_OpenGlNotSupported 

no OpenGL support

CV_OpenGlApiCallError 

OpenGL API call error

CV_OpenCLApiCallError 

OpenCL API call error

CV_OpenCLDoubleNotSupported 
CV_OpenCLInitError 

OpenCL initialization error

CV_OpenCLNoAMDBlasFft 

Function Documentation

§ cvAbsDiff()

void cvAbsDiff ( const CvArr src1,
const CvArr src2,
CvArr dst 
)

dst(x,y,c) = abs(src1(x,y,c) - src2(x,y,c))

§ cvAbsDiffS()

void cvAbsDiffS ( const CvArr src,
CvArr dst,
CvScalar  value 
)

dst(x,y,c) = abs(src(x,y,c) - value(c))

§ cvAdd()

void cvAdd ( const CvArr src1,
const CvArr src2,
CvArr dst,
const CvArr mask = NULL 
)

dst(mask) = src1(mask) + src2(mask)

§ cvAddS()

void cvAddS ( const CvArr src,
CvScalar  value,
CvArr dst,
const CvArr mask = NULL 
)

dst(mask) = src(mask) + value

§ cvAddWeighted()

void cvAddWeighted ( const CvArr src1,
double  alpha,
const CvArr src2,
double  beta,
double  gamma,
CvArr dst 
)

dst = src1 * alpha + src2 * beta + gamma

§ cvAlloc()

void* cvAlloc ( size_t  size)

malloc wrapper. If there is no enough memory, the function (as well as other OpenCV functions that call cvAlloc) raises an error.

§ cvAnd()

void cvAnd ( const CvArr src1,
const CvArr src2,
CvArr dst,
const CvArr mask = NULL 
)

dst(idx) = src1(idx) & src2(idx)

§ cvAndS()

void cvAndS ( const CvArr src,
CvScalar  value,
CvArr dst,
const CvArr mask = NULL 
)

dst(idx) = src(idx) & value

§ cvAvg()

CvScalar cvAvg ( const CvArr arr,
const CvArr mask = NULL 
)

Calculates mean value of array elements

§ cvAvgSdv()

void cvAvgSdv ( const CvArr arr,
CvScalar mean,
CvScalar std_dev,
const CvArr mask = NULL 
)

Calculates mean and standard deviation of pixel values

§ cvBackProjectPCA()

void cvBackProjectPCA ( const CvArr proj,
const CvArr mean,
const CvArr eigenvects,
CvArr result 
)

§ cvBox2D() [1/2]

CvBox2D cvBox2D ( CvPoint2D32f  c = CvPoint2D32f(),
CvSize2D32f  s = CvSize2D32f(),
float  a = 0 
)

§ cvBox2D() [2/2]

CvBox2D cvBox2D ( const cv::RotatedRect rr)

§ cvCalcCovarMatrix()

void cvCalcCovarMatrix ( const CvArr **  vects,
int  count,
CvArr cov_mat,
CvArr avg,
int  flags 
)

Calculates covariation matrix for a set of vectors

See also
flags

§ cvCalcPCA()

void cvCalcPCA ( const CvArr data,
CvArr mean,
CvArr eigenvals,
CvArr eigenvects,
int  flags 
)

§ cvCartToPolar()

void cvCartToPolar ( const CvArr x,
const CvArr y,
CvArr magnitude,
CvArr angle = NULL,
int  angle_in_degrees = 0 
)

Does cartesian->polar coordinates conversion. Either of output components (magnitude or angle) is optional

§ cvCbrt()

float cvCbrt ( float  value)

Fast cubic root calculation

§ cvChangeSeqBlock()

void cvChangeSeqBlock ( void *  reader,
int  direction 
)

§ cvCheckArr()

int cvCheckArr ( const CvArr arr,
int  flags = 0,
double  min_val = 0,
double  max_val = 0 
)

Checks array values for NaNs, Infs or simply for too large numbers (if CV_CHECK_RANGE is set). If CV_CHECK_QUIET is set, no runtime errors is raised (function returns zero value in case of "bad" values). Otherwise cvError is called

§ cvCheckHardwareSupport()

int cvCheckHardwareSupport ( int  feature)

§ cvCheckTermCriteria()

CvTermCriteria cvCheckTermCriteria ( CvTermCriteria  criteria,
double  default_eps,
int  default_max_iters 
)

checks termination criteria validity and sets eps to default_eps (if it is not set), max_iter to default_max_iters (if it is not set)

§ cvClearGraph()

void cvClearGraph ( CvGraph graph)

Remove all vertices and edges from the graph

§ cvClearMemStorage()

void cvClearMemStorage ( CvMemStorage storage)

Clears memory storage. This is the only way(!!!) (besides cvRestoreMemStoragePos) to reuse memory allocated for the storage - cvClearSeq,cvClearSet ... do not free any memory. A child storage returns all the blocks to the parent when it is cleared

§ cvClearND()

void cvClearND ( CvArr arr,
const int *  idx 
)

clears element of ND dense array, in case of sparse arrays it deletes the specified node

§ cvClearSeq()

void cvClearSeq ( CvSeq seq)

Removes all the elements from the sequence. The freed memory can be reused later only by the same sequence unless cvClearMemStorage or cvRestoreMemStoragePos is called

§ cvClearSet()

void cvClearSet ( CvSet set_header)

Removes all the elements from the set

§ cvClone()

void* cvClone ( const void *  struct_ptr)

Makes a clone of an object.

The function finds the type of a given object and calls clone with the passed object. Of course, if you know the object type, for example, struct_ptr is CvMat*, it is faster to call the specific function, like cvCloneMat.

Parameters
struct_ptrThe object to clone

§ cvCloneGraph()

CvGraph* cvCloneGraph ( const CvGraph graph,
CvMemStorage storage 
)

Creates a copy of graph

§ cvCloneImage()

IplImage* cvCloneImage ( const IplImage image)

Creates a copy of IPL image (widthStep may differ)

§ cvCloneMat()

CvMat* cvCloneMat ( const CvMat mat)

Creates an exact copy of the input matrix (except, may be, step value)

§ cvCloneMatND()

CvMatND* cvCloneMatND ( const CvMatND mat)

Creates a copy of CvMatND (except, may be, steps)

§ cvCloneSeq()

CvSeq* cvCloneSeq ( const CvSeq seq,
CvMemStorage storage = NULL 
)

§ cvCloneSparseMat()

CvSparseMat* cvCloneSparseMat ( const CvSparseMat mat)

Creates a copy of CvSparseMat (except, may be, zero items)

§ cvCmp()

void cvCmp ( const CvArr src1,
const CvArr src2,
CvArr dst,
int  cmp_op 
)

The comparison operation support single-channel arrays only. Destination image should be 8uC1 or 8sC1 dst(idx) = src1(idx) cmp_op src2(idx)

§ cvCmpS()

void cvCmpS ( const CvArr src,
double  value,
CvArr dst,
int  cmp_op 
)

dst(idx) = src1(idx) cmp_op value

§ cvCompleteSymm()

void cvCompleteSymm ( CvMat matrix,
int  LtoR = 0 
)

Completes the symmetric matrix from the lower (LtoR=0) or from the upper (LtoR!=0) part

§ cvConvertScale()

void cvConvertScale ( const CvArr src,
CvArr dst,
double  scale = 1,
double  shift = 0 
)

Converts one array to another with optional linear transformation.

The function has several different purposes, and thus has several different names. It copies one array to another with optional scaling, which is performed first, and/or optional type conversion, performed after:

\[\texttt{dst} (I) = \texttt{scale} \texttt{src} (I) + ( \texttt{shift} _0, \texttt{shift} _1,...)\]

All the channels of multi-channel arrays are processed independently.

The type of conversion is done with rounding and saturation, that is if the result of scaling + conversion can not be represented exactly by a value of the destination array element type, it is set to the nearest representable value on the real axis.

Parameters
srcSource array
dstDestination array
scaleScale factor
shiftValue added to the scaled source array elements

§ cvConvertScaleAbs()

void cvConvertScaleAbs ( const CvArr src,
CvArr dst,
double  scale = 1,
double  shift = 0 
)

Performs linear transformation on every source array element, stores absolute value of the result: dst(x,y,c) = abs(scale*src(x,y,c)+shift). destination array must have 8u type. In other cases one may use cvConvertScale + cvAbsDiffS

§ cvCopy()

void cvCopy ( const CvArr src,
CvArr dst,
const CvArr mask = NULL 
)

Copies one array to another.

The function copies selected elements from an input array to an output array:

\[\texttt{dst} (I)= \texttt{src} (I) \quad \text{if} \quad \texttt{mask} (I) \ne 0.\]

If any of the passed arrays is of IplImage type, then its ROI and COI fields are used. Both arrays must have the same type, the same number of dimensions, and the same size. The function can also copy sparse arrays (mask is not supported in this case).

Parameters
srcThe source array
dstThe destination array
maskOperation mask, 8-bit single channel array; specifies elements of the destination array to be changed

§ cvCountNonZero()

int cvCountNonZero ( const CvArr arr)

Calculates number of non-zero pixels

§ cvCreateChildMemStorage()

CvMemStorage* cvCreateChildMemStorage ( CvMemStorage parent)

Creates a memory storage that will borrow memory blocks from parent storage

§ cvCreateData()

void cvCreateData ( CvArr arr)

Allocates array data.

The function allocates image, matrix or multi-dimensional dense array data. Note that in the case of matrix types OpenCV allocation functions are used. In the case of IplImage they are used unless CV_TURN_ON_IPL_COMPATIBILITY() has been called before. In the latter case IPL functions are used to allocate the data.

Parameters
arrArray header

§ cvCreateGraph()

CvGraph* cvCreateGraph ( int  graph_flags,
int  header_size,
int  vtx_size,
int  edge_size,
CvMemStorage storage 
)

Creates new graph

§ cvCreateGraphScanner()

CvGraphScanner* cvCreateGraphScanner ( CvGraph graph,
CvGraphVtx vtx = NULL,
int  mask = -1 
)

Creates new graph scanner.

§ cvCreateImage()

IplImage* cvCreateImage ( CvSize  size,
int  depth,
int  channels 
)

Creates an image header and allocates the image data.

This function call is equivalent to the following code:

header = cvCreateImageHeader(size, depth, channels);
cvCreateData(header);
Parameters
sizeImage width and height
depthBit depth of image elements. See IplImage for valid depths.
channelsNumber of channels per pixel. See IplImage for details. This function only creates images with interleaved channels.

§ cvCreateImageHeader()

IplImage* cvCreateImageHeader ( CvSize  size,
int  depth,
int  channels 
)

Creates an image header but does not allocate the image data.

Parameters
sizeImage width and height
depthImage depth (see cvCreateImage )
channelsNumber of channels (see cvCreateImage )

§ cvCreateMat()

CvMat* cvCreateMat ( int  rows,
int  cols,
int  type 
)

Creates a matrix header and allocates the matrix data.

The function call is equivalent to the following code:

CvMat* mat = cvCreateMatHeader(rows, cols, type);
Parameters
rowsNumber of rows in the matrix
colsNumber of columns in the matrix
typeThe type of the matrix elements in the form CV_<bit depth><S|U|F>C<number of channels> , where S=signed, U=unsigned, F=float. For example, CV _ 8UC1 means the elements are 8-bit unsigned and the there is 1 channel, and CV _ 32SC2 means the elements are 32-bit signed and there are 2 channels.

§ cvCreateMatHeader()

CvMat* cvCreateMatHeader ( int  rows,
int  cols,
int  type 
)

Creates a matrix header but does not allocate the matrix data.

The function allocates a new matrix header and returns a pointer to it. The matrix data can then be allocated using cvCreateData or set explicitly to user-allocated data via cvSetData.

Parameters
rowsNumber of rows in the matrix
colsNumber of columns in the matrix
typeType of the matrix elements, see cvCreateMat

§ cvCreateMatND()

CvMatND* cvCreateMatND ( int  dims,
const int *  sizes,
int  type 
)

Creates the header and allocates the data for a multi-dimensional dense array.

This function call is equivalent to the following code:

CvMatND* mat = cvCreateMatNDHeader(dims, sizes, type);
Parameters
dimsNumber of array dimensions. This must not exceed CV_MAX_DIM (32 by default, but can be changed at build time).
sizesArray of dimension sizes.
typeType of array elements, see cvCreateMat .

§ cvCreateMatNDHeader()

CvMatND* cvCreateMatNDHeader ( int  dims,
const int *  sizes,
int  type 
)

Creates a new matrix header but does not allocate the matrix data.

The function allocates a header for a multi-dimensional dense array. The array data can further be allocated using cvCreateData or set explicitly to user-allocated data via cvSetData.

Parameters
dimsNumber of array dimensions
sizesArray of dimension sizes
typeType of array elements, see cvCreateMat

§ cvCreateMemStorage()

CvMemStorage* cvCreateMemStorage ( int  block_size = 0)

Creates new memory storage. block_size == 0 means that default, somewhat optimal size, is used (currently, it is 64K)

§ cvCreateSeq()

CvSeq* cvCreateSeq ( int  seq_flags,
size_t  header_size,
size_t  elem_size,
CvMemStorage storage 
)

Allocates string in memory storage Creates new empty sequence that will reside in the specified storage

§ cvCreateSeqBlock()

void cvCreateSeqBlock ( CvSeqWriter writer)

§ cvCreateSet()

CvSet* cvCreateSet ( int  set_flags,
int  header_size,
int  elem_size,
CvMemStorage storage 
)

Creates a new set

§ cvCreateSparseMat() [1/2]

CvSparseMat* cvCreateSparseMat ( int  dims,
const int *  sizes,
int  type 
)

Creates sparse array.

The function allocates a multi-dimensional sparse array. Initially the array contain no elements, that is PtrND and other related functions will return 0 for every index.

Parameters
dimsNumber of array dimensions. In contrast to the dense matrix, the number of dimensions is practically unlimited (up to \(2^{16}\) ).
sizesArray of dimension sizes
typeType of array elements. The same as for CvMat

§ cvCreateSparseMat() [2/2]

CvSparseMat* cvCreateSparseMat ( const cv::SparseMat m)

§ cvCrossProduct()

void cvCrossProduct ( const CvArr src1,
const CvArr src2,
CvArr dst 
)

Calculates the cross product of two 3D vectors.

The function calculates the cross product of two 3D vectors:

\[\texttt{dst} = \texttt{src1} \times \texttt{src2}\]

or:

\[\begin{array}{l} \texttt{dst} _1 = \texttt{src1} _2 \texttt{src2} _3 - \texttt{src1} _3 \texttt{src2} _2 \\ \texttt{dst} _2 = \texttt{src1} _3 \texttt{src2} _1 - \texttt{src1} _1 \texttt{src2} _3 \\ \texttt{dst} _3 = \texttt{src1} _1 \texttt{src2} _2 - \texttt{src1} _2 \texttt{src2} _1 \end{array}\]

Parameters
src1The first source vector
src2The second source vector
dstThe destination vector

§ cvCvtSeqToArray()

void* cvCvtSeqToArray ( const CvSeq seq,
void *  elements,
CvSlice  slice = CV_WHOLE_SEQ 
)

Copies sequence content to a continuous piece of memory

§ cvDCT()

void cvDCT ( const CvArr src,
CvArr dst,
int  flags 
)

Discrete Cosine Transform

See also
core_c_DftFlags "flags"

§ cvDecRefData()

void cvDecRefData ( CvArr arr)

Decrements an array data reference counter.

The function decrements the data reference counter in a CvMat or CvMatND if the reference counter

pointer is not NULL. If the counter reaches zero, the data is deallocated. In the current implementation the reference counter is not NULL only if the data was allocated using the cvCreateData function. The counter will be NULL in other cases such as: external data was assigned to the header using cvSetData, header is part of a larger matrix or image, or the header was converted from an image or n-dimensional matrix header.

Parameters
arrPointer to an array header

§ cvDet()

double cvDet ( const CvArr mat)

Calculates determinant of input matrix

§ cvDFT()

void cvDFT ( const CvArr src,
CvArr dst,
int  flags,
int  nonzero_rows = 0 
)

Discrete Fourier Transform: complex->complex, real->ccs (forward), ccs->real (inverse)

See also
core_c_DftFlags "flags"

§ cvDiv()

void cvDiv ( const CvArr src1,
const CvArr src2,
CvArr dst,
double  scale = 1 
)

element-wise division/inversion with scaling: dst(idx) = src1(idx) * scale / src2(idx) or dst(idx) = scale / src2(idx) if src1 == 0

§ cvDotProduct()

double cvDotProduct ( const CvArr src1,
const CvArr src2 
)

Calculates the dot product of two arrays in Euclidean metrics.

The function calculates and returns the Euclidean dot product of two arrays.

\[src1 \bullet src2 = \sum _I ( \texttt{src1} (I) \texttt{src2} (I))\]

In the case of multiple channel arrays, the results for all channels are accumulated. In particular, cvDotProduct(a,a) where a is a complex vector, will return \(||\texttt{a}||^2\). The function can process multi-dimensional arrays, row by row, layer by layer, and so on.

Parameters
src1The first source array
src2The second source array

§ cvEigenVV()

void cvEigenVV ( CvArr mat,
CvArr evects,
CvArr evals,
double  eps = 0,
int  lowindex = -1,
int  highindex = -1 
)

Finds eigen values and vectors of a symmetric matrix

§ cvEndWriteSeq()

CvSeq* cvEndWriteSeq ( CvSeqWriter writer)

Closes sequence writer, updates sequence header and returns pointer to the resultant sequence (which may be useful if the sequence was created using cvStartWriteSeq))

§ cvError()

void cvError ( int  status,
const char *  func_name,
const char *  err_msg,
const char *  file_name,
int  line 
)

Sets error status and performs some additional actions (displaying message box, writing message to stderr, terminating application etc.) depending on the current error mode

§ cvErrorFromIppStatus()

int cvErrorFromIppStatus ( int  ipp_status)

Maps IPP error codes to the counterparts from OpenCV

§ cvErrorStr()

const char* cvErrorStr ( int  status)

Retrieves textual description of the error given its code

§ cvExp()

void cvExp ( const CvArr src,
CvArr dst 
)

Does exponention: dst(idx) = exp(src(idx)). Overflow is not handled yet. Underflow is handled. Maximal relative error is ~7e-6 for single-precision input

§ cvFastArctan()

float cvFastArctan ( float  y,
float  x 
)

Fast arctangent calculation

§ cvFindGraphEdge()

CvGraphEdge* cvFindGraphEdge ( const CvGraph graph,
int  start_idx,
int  end_idx 
)

Find edge connecting two vertices

§ cvFindGraphEdgeByPtr()

CvGraphEdge* cvFindGraphEdgeByPtr ( const CvGraph graph,
const CvGraphVtx start_vtx,
const CvGraphVtx end_vtx 
)

§ cvFlip()

void cvFlip ( const CvArr src,
CvArr dst = NULL,
int  flip_mode = 0 
)

Mirror array data around horizontal (flip=0), vertical (flip=1) or both(flip=-1) axises: cvFlip(src) flips images vertically and sequences horizontally (inplace)

§ cvFlushSeqWriter()

void cvFlushSeqWriter ( CvSeqWriter writer)

Updates sequence header. May be useful to get access to some of previously written elements via cvGetSeqElem or sequence reader

§ cvFree_()

void cvFree_ ( void *  ptr)

free wrapper. Here and further all the memory releasing functions (that all call cvFree) take double pointer in order to to clear pointer to the data after releasing it. Passing pointer to NULL pointer is Ok: nothing happens in this case

§ cvGEMM()

void cvGEMM ( const CvArr src1,
const CvArr src2,
double  alpha,
const CvArr src3,
double  beta,
CvArr dst,
int  tABC = 0 
)

Extended matrix transform: dst = alpha*op(A)*op(B) + beta*op(C), where op(X) is X or X^T

§ cvGet1D()

CvScalar cvGet1D ( const CvArr arr,
int  idx0 
)

Return a specific array element.

The functions return a specific array element. In the case of a sparse array the functions return 0 if the requested node does not exist (no new node is created by the functions).

Parameters
arrInput array
idx0The first zero-based component of the element index

§ cvGet2D()

CvScalar cvGet2D ( const CvArr arr,
int  idx0,
int  idx1 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvGet3D()

CvScalar cvGet3D ( const CvArr arr,
int  idx0,
int  idx1,
int  idx2 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvGetCol()

CvMat* cvGetCol ( const CvArr arr,
CvMat submat,
int  col 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
arrInput array
submatPointer to the resulting sub-array header
colZero-based index of the selected column

§ cvGetCols()

CvMat* cvGetCols ( const CvArr arr,
CvMat submat,
int  start_col,
int  end_col 
)

Returns one of more array columns.

The function returns the header, corresponding to a specified column span of the input array. That

is, no data is copied. Therefore, any modifications of the submatrix will affect the original array. If you need to copy the columns, use cvCloneMat. cvGetCol(arr, submat, col) is a shortcut for cvGetCols(arr, submat, col, col+1).

Parameters
arrInput array
submatPointer to the resulting sub-array header
start_colZero-based index of the starting column (inclusive) of the span
end_colZero-based index of the ending column (exclusive) of the span

§ cvGetDiag()

CvMat* cvGetDiag ( const CvArr arr,
CvMat submat,
int  diag = 0 
)

Returns one of array diagonals.

The function returns the header, corresponding to a specified diagonal of the input array.

Parameters
arrInput array
submatPointer to the resulting sub-array header
diagIndex of the array diagonal. Zero value corresponds to the main diagonal, -1 corresponds to the diagonal above the main, 1 corresponds to the diagonal below the main, and so forth.

§ cvGetDims()

int cvGetDims ( const CvArr arr,
int *  sizes = NULL 
)

Return number of array dimensions.

The function returns the array dimensionality and the array of dimension sizes. In the case of IplImage or CvMat it always returns 2 regardless of number of image/matrix rows. For example, the following code calculates total number of array elements:

int sizes[CV_MAX_DIM];
int i, total = 1;
int dims = cvGetDims(arr, size);
for(i = 0; i < dims; i++ )
total *= sizes[i];
Parameters
arrInput array
sizesOptional output vector of the array dimension sizes. For 2d arrays the number of rows (height) goes first, number of columns (width) next.

§ cvGetDimSize()

int cvGetDimSize ( const CvArr arr,
int  index 
)

Returns array size along the specified dimension.

Parameters
arrInput array
indexZero-based dimension index (for matrices 0 means number of rows, 1 means number of columns; for images 0 means height, 1 means width)

§ cvGetElemType()

int cvGetElemType ( const CvArr arr)

Returns type of array elements.

The function returns type of the array elements. In the case of IplImage the type is converted to CvMat-like representation. For example, if the image has been created as:

IplImage* img = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 3);

The code cvGetElemType(img) will return CV_8UC3.

Parameters
arrInput array

§ cvGetErrInfo()

int cvGetErrInfo ( const char **  errcode_desc,
const char **  description,
const char **  filename,
int *  line 
)

Retrieves detailed information about the last error occurred

§ cvGetErrMode()

int cvGetErrMode ( void  )

Retrieves current error processing mode

§ cvGetErrStatus()

int cvGetErrStatus ( void  )

Get current OpenCV error status

§ cvGetImage()

IplImage* cvGetImage ( const CvArr arr,
IplImage image_header 
)

Returns image header for arbitrary array.

The function returns the image header for the input array that can be a matrix (CvMat) or image (IplImage). In the case of an image the function simply returns the input pointer. In the case of CvMat it initializes an image_header structure with the parameters of the input matrix. Note that if we transform IplImage to CvMat using cvGetMat and then transform CvMat back to IplImage using this function, we will get different headers if the ROI is set in the original image.

Parameters
arrInput array
image_headerPointer to IplImage structure used as a temporary buffer

§ cvGetImageCOI()

int cvGetImageCOI ( const IplImage image)

Returns the index of the channel of interest.

Returns the channel of interest of in an IplImage. Returned values correspond to the coi in cvSetImageCOI.

Parameters
imageA pointer to the image header

§ cvGetImageROI()

CvRect cvGetImageROI ( const IplImage image)

Returns the image ROI.

If there is no ROI set, cvRect(0,0,image->width,image->height) is returned.

Parameters
imageA pointer to the image header

§ cvGetMat()

CvMat* cvGetMat ( const CvArr arr,
CvMat header,
int *  coi = NULL,
int  allowND = 0 
)

Returns matrix header for arbitrary array.

The function returns a matrix header for the input array that can be a matrix - CvMat, an image - IplImage, or a multi-dimensional dense array - CvMatND (the third option is allowed only if allowND != 0) . In the case of matrix the function simply returns the input pointer. In the case of IplImage* or CvMatND it initializes the header structure with parameters of the current image ROI and returns &header. Because COI is not supported by CvMat, it is returned separately.

The function provides an easy way to handle both types of arrays - IplImage and CvMat using the same code. Input array must have non-zero data pointer, otherwise the function will report an error.

Note
If the input array is IplImage with planar data layout and COI set, the function returns the pointer to the selected plane and COI == 0. This feature allows user to process IplImage structures with planar data layout, even though OpenCV does not support such images.
Parameters
arrInput array
headerPointer to CvMat structure used as a temporary buffer
coiOptional output parameter for storing COI
allowNDIf non-zero, the function accepts multi-dimensional dense arrays (CvMatND*) and returns 2D matrix (if CvMatND has two dimensions) or 1D matrix (when CvMatND has 1 dimension or more than 2 dimensions). The CvMatND array must be continuous.
See also
cvGetImage, cvarrToMat.

§ cvGetND()

CvScalar cvGetND ( const CvArr arr,
const int *  idx 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
arrInput array
idxArray of the element indices

§ cvGetNextSparseNode()

CvSparseNode* cvGetNextSparseNode ( CvSparseMatIterator mat_iterator)

Returns the next sparse matrix element.

The function moves iterator to the next sparse matrix element and returns pointer to it. In the current version there is no any particular order of the elements, because they are stored in the hash table. The sample below demonstrates how to iterate through the sparse matrix:

// print all the non-zero sparse matrix elements and compute their sum
double sum = 0;
int i, dims = cvGetDims(sparsemat);
CvSparseNode* node = cvInitSparseMatIterator(sparsemat, &it);
for(; node != 0; node = cvGetNextSparseNode(&it))
{
int* idx = CV_NODE_IDX(array, node);
float val = *(float*)CV_NODE_VAL(array, node);
printf("M");
for(i = 0; i < dims; i++ )
printf("[%d]", idx[i]);
printf("=%g\n", val);
sum += val;
}
printf("nTotal sum = %g\n", sum);
Parameters
mat_iteratorSparse array iterator

§ cvGetNumThreads()

int cvGetNumThreads ( void  )

retrieve/set the number of threads used in OpenMP implementations

§ cvGetOptimalDFTSize()

int cvGetOptimalDFTSize ( int  size0)

Finds optimal DFT vector size >= size0

§ cvGetRawData()

void cvGetRawData ( const CvArr arr,
uchar **  data,
int *  step = NULL,
CvSize roi_size = NULL 
)

Retrieves low-level information about the array.

The function fills output variables with low-level information about the array data. All output

parameters are optional, so some of the pointers may be set to NULL. If the array is IplImage with ROI set, the parameters of ROI are returned.

The following example shows how to get access to array elements. It computes absolute values of the array elements :

float* data;
int step;
CvSize size;
cvGetRawData(array, (uchar**)&data, &step, &size);
step /= sizeof(data[0]);
for(int y = 0; y < size.height; y++, data += step )
for(int x = 0; x < size.width; x++ )
data[x] = (float)fabs(data[x]);
Parameters
arrArray header
dataOutput pointer to the whole image origin or ROI origin if ROI is set
stepOutput full row length in bytes
roi_sizeOutput ROI size

§ cvGetReal1D()

double cvGetReal1D ( const CvArr arr,
int  idx0 
)

Return a specific element of single-channel 1D, 2D, 3D or nD array.

Returns a specific element of a single-channel array. If the array has multiple channels, a runtime error is raised. Note that Get?D functions can be used safely for both single-channel and multiple-channel arrays though they are a bit slower.

In the case of a sparse array the functions return 0 if the requested node does not exist (no new node is created by the functions).

Parameters
arrInput array. Must have a single channel.
idx0The first zero-based component of the element index

§ cvGetReal2D()

double cvGetReal2D ( const CvArr arr,
int  idx0,
int  idx1 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvGetReal3D()

double cvGetReal3D ( const CvArr arr,
int  idx0,
int  idx1,
int  idx2 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvGetRealND()

double cvGetRealND ( const CvArr arr,
const int *  idx 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
arrInput array. Must have a single channel.
idxArray of the element indices

§ cvGetRow()

CvMat* cvGetRow ( const CvArr arr,
CvMat submat,
int  row 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
arrInput array
submatPointer to the resulting sub-array header
rowZero-based index of the selected row

§ cvGetRows()

CvMat* cvGetRows ( const CvArr arr,
CvMat submat,
int  start_row,
int  end_row,
int  delta_row = 1 
)

Returns array row or row span.

The function returns the header, corresponding to a specified row/row span of the input array. cvGetRow(arr, submat, row) is a shortcut for cvGetRows(arr, submat, row, row+1).

Parameters
arrInput array
submatPointer to the resulting sub-array header
start_rowZero-based index of the starting row (inclusive) of the span
end_rowZero-based index of the ending row (exclusive) of the span
delta_rowIndex step in the row span. That is, the function extracts every delta_row -th row from start_row and up to (but not including) end_row .

§ cvGetSeqElem()

schar* cvGetSeqElem ( const CvSeq seq,
int  index 
)

Retrieves pointer to specified sequence element. Negative indices are supported and mean counting from the end (e.g -1 means the last sequence element)

§ cvGetSeqReaderPos()

int cvGetSeqReaderPos ( CvSeqReader reader)

Returns current sequence reader position (currently observed sequence element)

§ cvGetSetElem()

CvSetElem* cvGetSetElem ( const CvSet set_header,
int  idx 
)

Returns a set element by index. If the element doesn't belong to the set, NULL is returned

§ cvGetSize()

CvSize cvGetSize ( const CvArr arr)

Returns size of matrix or image ROI.

The function returns number of rows (CvSize::height) and number of columns (CvSize::width) of the input matrix or image. In the case of image the size of ROI is returned.

Parameters
arrarray header

§ cvGetSubRect()

CvMat* cvGetSubRect ( const CvArr arr,
CvMat submat,
CvRect  rect 
)

Returns matrix header corresponding to the rectangular sub-array of input image or matrix.

The function returns header, corresponding to a specified rectangle of the input array. In other

words, it allows the user to treat a rectangular part of input array as a stand-alone array. ROI is taken into account by the function so the sub-array of ROI is actually extracted.

Parameters
arrInput array
submatPointer to the resultant sub-array header
rectZero-based coordinates of the rectangle of interest

§ cvGetThreadNum()

int cvGetThreadNum ( void  )

get index of the thread being executed

§ cvGetTickCount()

int64 cvGetTickCount ( void  )

helper functions for RNG initialization and accurate time measurement: uses internal clock counter on x86

§ cvGetTickFrequency()

double cvGetTickFrequency ( void  )

§ cvGraphAddEdge()

int cvGraphAddEdge ( CvGraph graph,
int  start_idx,
int  end_idx,
const CvGraphEdge edge = NULL,
CvGraphEdge **  inserted_edge = NULL 
)

Link two vertices specified by indices or pointers if they are not connected or return pointer to already existing edge connecting the vertices. Functions return 1 if a new edge was created, 0 otherwise

§ cvGraphAddEdgeByPtr()

int cvGraphAddEdgeByPtr ( CvGraph graph,
CvGraphVtx start_vtx,
CvGraphVtx end_vtx,
const CvGraphEdge edge = NULL,
CvGraphEdge **  inserted_edge = NULL 
)

§ cvGraphAddVtx()

int cvGraphAddVtx ( CvGraph graph,
const CvGraphVtx vtx = NULL,
CvGraphVtx **  inserted_vtx = NULL 
)

Adds new vertex to the graph

§ cvGraphRemoveEdge()

void cvGraphRemoveEdge ( CvGraph graph,
int  start_idx,
int  end_idx 
)

Remove edge connecting two vertices

§ cvGraphRemoveEdgeByPtr()

void cvGraphRemoveEdgeByPtr ( CvGraph graph,
CvGraphVtx start_vtx,
CvGraphVtx end_vtx 
)

§ cvGraphRemoveVtx()

int cvGraphRemoveVtx ( CvGraph graph,
int  index 
)

Removes vertex from the graph together with all incident edges

§ cvGraphRemoveVtxByPtr()

int cvGraphRemoveVtxByPtr ( CvGraph graph,
CvGraphVtx vtx 
)

§ cvGraphVtxDegree()

int cvGraphVtxDegree ( const CvGraph graph,
int  vtx_idx 
)

Count number of edges incident to the vertex

§ cvGraphVtxDegreeByPtr()

int cvGraphVtxDegreeByPtr ( const CvGraph graph,
const CvGraphVtx vtx 
)

§ cvGuiBoxReport()

int cvGuiBoxReport ( int  status,
const char *  func_name,
const char *  err_msg,
const char *  file_name,
int  line,
void *  userdata 
)

Output to MessageBox(WIN32)

§ cvIncRefData()

int cvIncRefData ( CvArr arr)

Increments array data reference counter.

The function increments CvMat or CvMatND data reference counter and returns the new counter value if the reference counter pointer is not NULL, otherwise it returns zero.

Parameters
arrArray header

§ cvInitImageHeader()

IplImage* cvInitImageHeader ( IplImage image,
CvSize  size,
int  depth,
int  channels,
int  origin = 0,
int  align = 4 
)

Initializes an image header that was previously allocated.

The returned IplImage* points to the initialized header.

Parameters
imageImage header to initialize
sizeImage width and height
depthImage depth (see cvCreateImage )
channelsNumber of channels (see cvCreateImage )
originTop-left IPL_ORIGIN_TL or bottom-left IPL_ORIGIN_BL
alignAlignment for image rows, typically 4 or 8 bytes

§ cvInitMatHeader()

CvMat* cvInitMatHeader ( CvMat mat,
int  rows,
int  cols,
int  type,
void *  data = NULL,
int  step = 0x7fffffff 
)

Initializes a pre-allocated matrix header.

This function is often used to process raw data with OpenCV matrix functions. For example, the following code computes the matrix product of two matrices, stored as ordinary arrays:

double a[] = { 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12 };
double b[] = { 1, 5, 9,
2, 6, 10,
3, 7, 11,
4, 8, 12 };
double c[9];
CvMat Ma, Mb, Mc ;
cvInitMatHeader(&Ma, 3, 4, CV_64FC1, a);
cvInitMatHeader(&Mb, 4, 3, CV_64FC1, b);
cvInitMatHeader(&Mc, 3, 3, CV_64FC1, c);
cvMatMulAdd(&Ma, &Mb, 0, &Mc);
// the c array now contains the product of a (3x4) and b (4x3)
Parameters
matA pointer to the matrix header to be initialized
rowsNumber of rows in the matrix
colsNumber of columns in the matrix
typeType of the matrix elements, see cvCreateMat .
dataOptional: data pointer assigned to the matrix header
stepOptional: full row width in bytes of the assigned data. By default, the minimal possible step is used which assumes there are no gaps between subsequent rows of the matrix.

§ cvInitMatNDHeader()

CvMatND* cvInitMatNDHeader ( CvMatND mat,
int  dims,
const int *  sizes,
int  type,
void *  data = NULL 
)

Initializes a pre-allocated multi-dimensional array header.

Parameters
matA pointer to the array header to be initialized
dimsThe number of array dimensions
sizesAn array of dimension sizes
typeType of array elements, see cvCreateMat
dataOptional data pointer assigned to the matrix header

§ cvInitNArrayIterator()

int cvInitNArrayIterator ( int  count,
CvArr **  arrs,
const CvArr mask,
CvMatND stubs,
CvNArrayIterator array_iterator,
int  flags = 0 
)

initializes iterator that traverses through several arrays simulteneously (the function together with cvNextArraySlice is used for N-ari element-wise operations)

§ cvInitSparseMatIterator()

CvSparseNode* cvInitSparseMatIterator ( const CvSparseMat mat,
CvSparseMatIterator mat_iterator 
)

Initializes sparse array elements iterator.

The function initializes iterator of sparse array elements and returns pointer to the first element, or NULL if the array is empty.

Parameters
matInput array
mat_iteratorInitialized iterator

§ cvInitTreeNodeIterator()

void cvInitTreeNodeIterator ( CvTreeNodeIterator tree_iterator,
const void *  first,
int  max_level 
)

§ cvInRange()

void cvInRange ( const CvArr src,
const CvArr lower,
const CvArr upper,
CvArr dst 
)

dst(idx) = lower(idx) <= src(idx) < upper(idx)

§ cvInRangeS()

void cvInRangeS ( const CvArr src,
CvScalar  lower,
CvScalar  upper,
CvArr dst 
)

dst(idx) = lower <= src(idx) < upper

§ cvInsertNodeIntoTree()

void cvInsertNodeIntoTree ( void *  node,
void *  parent,
void *  frame 
)

Inserts sequence into tree with specified "parent" sequence. If parent is equal to frame (e.g. the most external contour), then added contour will have null pointer to parent.

§ cvInvert()

double cvInvert ( const CvArr src,
CvArr dst,
int  method = 0 
)

Inverts matrix

§ cvIplDepth()

int cvIplDepth ( int  type)

§ cvIplImage() [1/2]

_IplImage cvIplImage ( const cv::Mat m)

§ cvIplImage() [2/2]

IplImage cvIplImage ( )

§ cvKMeans2()

int cvKMeans2 ( const CvArr samples,
int  cluster_count,
CvArr labels,
CvTermCriteria  termcrit,
int  attempts = 1,
CvRNG rng = 0,
int  flags = 0,
CvArr _centers = 0,
double *  compactness = 0 
)

§ cvLog()

void cvLog ( const CvArr src,
CvArr dst 
)

Calculates natural logarithms: dst(idx) = log(abs(src(idx))). Logarithm of 0 gives large negative number(~-700) Maximal relative error is ~3e-7 for single-precision output

§ cvLUT()

void cvLUT ( const CvArr src,
CvArr dst,
const CvArr lut 
)

Does look-up transformation. Elements of the source array (that should be 8uC1 or 8sC1) are used as indexes in lutarr 256-element table

§ cvMahalanobis()

double cvMahalanobis ( const CvArr vec1,
const CvArr vec2,
const CvArr mat 
)

Calculates Mahalanobis(weighted) distance

§ cvMakeSeqHeaderForArray()

CvSeq* cvMakeSeqHeaderForArray ( int  seq_type,
int  header_size,
int  elem_size,
void *  elements,
int  total,
CvSeq seq,
CvSeqBlock block 
)

Creates sequence header for array. After that all the operations on sequences that do not alter the content can be applied to the resultant sequence

§ cvMat() [1/4]

CvMat cvMat ( const cv::Mat m)

§ cvMat() [2/4]

CvMat cvMat ( int  rows,
int  cols,
int  type,
void *  data = NULL 
)

Inline constructor. No data is allocated internally!!! (Use together with cvCreateData, or use cvCreateMat instead to get a matrix with allocated data):

§ cvMat() [3/4]

CvMat cvMat ( )

§ cvMat() [4/4]

CvMat cvMat ( const CvMat m)

§ cvMatND() [1/2]

CvMatND cvMatND ( const cv::Mat m)

§ cvMatND() [2/2]

CvMatND cvMatND ( )

§ cvMax()

void cvMax ( const CvArr src1,
const CvArr src2,
CvArr dst 
)

dst(idx) = max(src1(idx),src2(idx))

§ cvMaxS()

void cvMaxS ( const CvArr src,
double  value,
CvArr dst 
)

dst(idx) = max(src(idx),value)

§ cvMemStorageAlloc()

void* cvMemStorageAlloc ( CvMemStorage storage,
size_t  size 
)

Allocates continuous buffer of the specified size in the storage

§ cvMerge()

void cvMerge ( const CvArr src0,
const CvArr src1,
const CvArr src2,
const CvArr src3,
CvArr dst 
)

Merges a set of single-channel arrays into the single multi-channel array or inserts one particular [color] plane to the array

§ cvmGet()

double cvmGet ( const CvMat mat,
int  row,
int  col 
)

Returns the particular element of single-channel floating-point matrix.

The function is a fast replacement for cvGetReal2D in the case of single-channel floating-point matrices. It is faster because it is inline, it does fewer checks for array type and array element type, and it checks for the row and column ranges only in debug mode.

Parameters
matInput matrix
rowThe zero-based index of row
colThe zero-based index of column

§ cvMin()

void cvMin ( const CvArr src1,
const CvArr src2,
CvArr dst 
)

dst(idx) = min(src1(idx),src2(idx))

§ cvMinMaxLoc()

void cvMinMaxLoc ( const CvArr arr,
double *  min_val,
double *  max_val,
CvPoint min_loc = NULL,
CvPoint max_loc = NULL,
const CvArr mask = NULL 
)

Finds global minimum, maximum and their positions

§ cvMinS()

void cvMinS ( const CvArr src,
double  value,
CvArr dst 
)

dst(idx) = min(src(idx),value)

§ cvMixChannels()

void cvMixChannels ( const CvArr **  src,
int  src_count,
CvArr **  dst,
int  dst_count,
const int *  from_to,
int  pair_count 
)

Copies several channels from input arrays to certain channels of output arrays

§ cvmSet()

void cvmSet ( CvMat mat,
int  row,
int  col,
double  value 
)

Sets a specific element of a single-channel floating-point matrix.

The function is a fast replacement for cvSetReal2D in the case of single-channel floating-point matrices. It is faster because it is inline, it does fewer checks for array type and array element type, and it checks for the row and column ranges only in debug mode.

Parameters
matThe matrix
rowThe zero-based index of row
colThe zero-based index of column
valueThe new value of the matrix element

§ cvMul()

void cvMul ( const CvArr src1,
const CvArr src2,
CvArr dst,
double  scale = 1 
)

dst(idx) = src1(idx) * src2(idx) * scale (scaled element-wise multiplication of 2 arrays)

§ cvMulSpectrums()

void cvMulSpectrums ( const CvArr src1,
const CvArr src2,
CvArr dst,
int  flags 
)

Multiply results of DFTs: DFT(X)*DFT(Y) or DFT(X)*conj(DFT(Y))

See also
core_c_DftFlags "flags"

§ cvMulTransposed()

void cvMulTransposed ( const CvArr src,
CvArr dst,
int  order,
const CvArr delta = NULL,
double  scale = 1. 
)

Calculates (A-delta)*(A-delta)^T (order=0) or (A-delta)^T*(A-delta) (order=1)

§ cvNextGraphItem()

int cvNextGraphItem ( CvGraphScanner scanner)

Get next graph element

§ cvNextNArraySlice()

int cvNextNArraySlice ( CvNArrayIterator array_iterator)

returns zero value if iteration is finished, non-zero (slice length) otherwise

§ cvNextTreeNode()

void* cvNextTreeNode ( CvTreeNodeIterator tree_iterator)

§ cvNorm()

double cvNorm ( const CvArr arr1,
const CvArr arr2 = NULL,
int  norm_type = 4,
const CvArr mask = NULL 
)

Finds norm, difference norm or relative difference norm for an array (or two arrays)

See also
ref core_c_NormFlags "flags"

§ cvNormalize()

void cvNormalize ( const CvArr src,
CvArr dst,
double  a = 1.,
double  b = 0.,
int  norm_type = 4,
const CvArr mask = NULL 
)
See also
ref core_c_NormFlags "flags"

§ cvNot()

void cvNot ( const CvArr src,
CvArr dst 
)

dst(idx) = ~src(idx)

§ cvNulDevReport()

int cvNulDevReport ( int  status,
const char *  func_name,
const char *  err_msg,
const char *  file_name,
int  line,
void *  userdata 
)

Output nothing

§ cvOr()

void cvOr ( const CvArr src1,
const CvArr src2,
CvArr dst,
const CvArr mask = NULL 
)

dst(idx) = src1(idx) | src2(idx)

§ cvOrS()

void cvOrS ( const CvArr src,
CvScalar  value,
CvArr dst,
const CvArr mask = NULL 
)

dst(idx) = src(idx) | value

§ cvPerspectiveTransform()

void cvPerspectiveTransform ( const CvArr src,
CvArr dst,
const CvMat mat 
)

Does perspective transform on every element of input array

§ cvPoint() [1/2]

CvPoint cvPoint ( int  x,
int  y 
)

constructs CvPoint structure.

§ cvPoint() [2/2]

CvPoint cvPoint ( const cv::Point pt)

§ cvPoint2D32f() [1/2]

CvPoint2D32f cvPoint2D32f ( double  x,
double  y 
)

constructs CvPoint2D32f structure.

§ cvPoint2D32f() [2/2]

template<typename _Tp >
CvPoint2D32f cvPoint2D32f ( const cv::Point_< _Tp > &  pt)

§ cvPoint2D64f()

CvPoint2D64f cvPoint2D64f ( double  x,
double  y 
)

constructs CvPoint2D64f structure.

§ cvPoint3D32f() [1/2]

CvPoint3D32f cvPoint3D32f ( double  x,
double  y,
double  z 
)

constructs CvPoint3D32f structure.

§ cvPoint3D32f() [2/2]

template<typename _Tp >
CvPoint3D32f cvPoint3D32f ( const cv::Point3_< _Tp > &  pt)

§ cvPoint3D64f()

CvPoint3D64f cvPoint3D64f ( double  x,
double  y,
double  z 
)

constructs CvPoint3D64f structure.

§ cvPointFrom32f()

CvPoint cvPointFrom32f ( CvPoint2D32f  point)

converts CvPoint2D32f to CvPoint.

§ cvPointTo32f()

CvPoint2D32f cvPointTo32f ( CvPoint  point)

converts CvPoint to CvPoint2D32f.

§ cvPolarToCart()

void cvPolarToCart ( const CvArr magnitude,
const CvArr angle,
CvArr x,
CvArr y,
int  angle_in_degrees = 0 
)

Does polar->cartesian coordinates conversion. Either of output components (magnitude or angle) is optional. If magnitude is missing it is assumed to be all 1's

§ cvPow()

void cvPow ( const CvArr src,
CvArr dst,
double  power 
)

Does powering: dst(idx) = src(idx)^power

§ cvPrevTreeNode()

void* cvPrevTreeNode ( CvTreeNodeIterator tree_iterator)

§ cvProjectPCA()

void cvProjectPCA ( const CvArr data,
const CvArr mean,
const CvArr eigenvects,
CvArr result 
)

§ cvPtr1D()

uchar* cvPtr1D ( const CvArr arr,
int  idx0,
int *  type = NULL 
)

Return pointer to a particular array element.

The functions return a pointer to a specific array element. Number of array dimension should match to the number of indices passed to the function except for cvPtr1D function that can be used for sequential access to 1D, 2D or nD dense arrays.

The functions can be used for sparse arrays as well - if the requested node does not exist they create it and set it to zero.

All these as well as other functions accessing array elements ( cvGetND , cvGetRealND , cvSet , cvSetND , cvSetRealND ) raise an error in case if the element index is out of range.

Parameters
arrInput array
idx0The first zero-based component of the element index
typeOptional output parameter: type of matrix elements

§ cvPtr2D()

uchar* cvPtr2D ( const CvArr arr,
int  idx0,
int  idx1,
int *  type = NULL 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvPtr3D()

uchar* cvPtr3D ( const CvArr arr,
int  idx0,
int  idx1,
int  idx2,
int *  type = NULL 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvPtrND()

uchar* cvPtrND ( const CvArr arr,
const int *  idx,
int *  type = NULL,
int  create_node = 1,
unsigned *  precalc_hashval = NULL 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
arrInput array
idxArray of the element indices
typeOptional output parameter: type of matrix elements
create_nodeOptional input parameter for sparse matrices. Non-zero value of the parameter means that the requested element is created if it does not exist already.
precalc_hashvalOptional input parameter for sparse matrices. If the pointer is not NULL, the function does not recalculate the node hash value, but takes it from the specified location. It is useful for speeding up pair-wise operations (TODO: provide an example)

§ cvRandArr()

void cvRandArr ( CvRNG rng,
CvArr arr,
int  dist_type,
CvScalar  param1,
CvScalar  param2 
)

Fills an array with random numbers and updates the RNG state.

The function fills the destination array with uniformly or normally distributed random numbers.

Parameters
rngCvRNG state initialized by cvRNG
arrThe destination array
dist_typeDistribution type
  • CV_RAND_UNI uniform distribution
  • CV_RAND_NORMAL normal or Gaussian distribution
param1The first parameter of the distribution. In the case of a uniform distribution it is the inclusive lower boundary of the random numbers range. In the case of a normal distribution it is the mean value of the random numbers.
param2The second parameter of the distribution. In the case of a uniform distribution it is the exclusive upper boundary of the random numbers range. In the case of a normal distribution it is the standard deviation of the random numbers.
See also
randu, randn, RNG::fill.

§ cvRandInt()

unsigned cvRandInt ( CvRNG rng)

Returns a 32-bit unsigned integer and updates RNG.

The function returns a uniformly-distributed random 32-bit unsigned integer and updates the RNG state. It is similar to the rand() function from the C runtime library, except that OpenCV functions always generates a 32-bit random number, regardless of the platform.

Parameters
rngCvRNG state initialized by cvRNG.

§ cvRandReal()

double cvRandReal ( CvRNG rng)

Returns a floating-point random number and updates RNG.

The function returns a uniformly-distributed random floating-point number between 0 and 1 (1 is not included).

Parameters
rngRNG state initialized by cvRNG

§ cvRandShuffle()

void cvRandShuffle ( CvArr mat,
CvRNG rng,
double  iter_factor = 1. 
)

§ cvRange()

CvArr* cvRange ( CvArr mat,
double  start,
double  end 
)

Fills matrix with given range of numbers

§ cvRawDataToScalar()

void cvRawDataToScalar ( const void *  data,
int  type,
CvScalar scalar 
)

§ cvRealScalar()

CvScalar cvRealScalar ( double  val0)

§ cvRect() [1/2]

CvRect cvRect ( int  x,
int  y,
int  width,
int  height 
)

constructs CvRect structure.

§ cvRect() [2/2]

CvRect cvRect ( const cv::Rect rc)

§ cvRectToROI()

IplROI cvRectToROI ( CvRect  rect,
int  coi 
)

§ cvRedirectError()

CvErrorCallback cvRedirectError ( CvErrorCallback  error_handler,
void *  userdata = NULL,
void **  prev_userdata = NULL 
)

Assigns a new error-handling function

§ cvReduce()

void cvReduce ( const CvArr src,
CvArr dst,
int  dim = -1,
int  op = 0 
)
See also
flags

§ cvRelease()

void cvRelease ( void **  struct_ptr)

Releases an object.

The function finds the type of a given object and calls release with the double pointer.

Parameters
struct_ptrDouble pointer to the object

§ cvReleaseData()

void cvReleaseData ( CvArr arr)

Releases array data.

The function releases the array data. In the case of CvMat or CvMatND it simply calls cvDecRefData(), that is the function can not deallocate external data. See also the note to cvCreateData .

Parameters
arrArray header

§ cvReleaseGraphScanner()

void cvReleaseGraphScanner ( CvGraphScanner **  scanner)

Releases graph scanner.

§ cvReleaseImage()

void cvReleaseImage ( IplImage **  image)

Deallocates the image header and the image data.

This call is a shortened form of :

if(*image )
{
cvReleaseData(*image);
}
Parameters
imageDouble pointer to the image header

§ cvReleaseImageHeader()

void cvReleaseImageHeader ( IplImage **  image)

Deallocates an image header.

This call is an analogue of :

if(image )
{
iplDeallocate(*image, IPL_IMAGE_HEADER | IPL_IMAGE_ROI);
*image = 0;
}

but it does not use IPL functions by default (see the CV_TURN_ON_IPL_COMPATIBILITY macro).

Parameters
imageDouble pointer to the image header

§ cvReleaseMat()

void cvReleaseMat ( CvMat **  mat)

Deallocates a matrix.

The function decrements the matrix data reference counter and deallocates matrix header. If the data reference counter is 0, it also deallocates the data. :

if(*mat )
cvDecRefData(*mat);
cvFree((void**)mat);
Parameters
matDouble pointer to the matrix

§ cvReleaseMatND()

void cvReleaseMatND ( CvMatND **  mat)

Deallocates a multi-dimensional array.

The function decrements the array data reference counter and releases the array header. If the reference counter reaches 0, it also deallocates the data. :

if(*mat )
cvDecRefData(*mat);
cvFree((void**)mat);
Parameters
matDouble pointer to the array

§ cvReleaseMemStorage()

void cvReleaseMemStorage ( CvMemStorage **  storage)

Releases memory storage. All the children of a parent must be released before the parent. A child storage returns all the blocks to parent when it is released

§ cvReleaseSparseMat()

void cvReleaseSparseMat ( CvSparseMat **  mat)

Deallocates sparse array.

The function releases the sparse array and clears the array pointer upon exit.

Parameters
matDouble pointer to the array

§ cvRemoveNodeFromTree()

void cvRemoveNodeFromTree ( void *  node,
void *  frame 
)

Removes contour from tree (together with the contour children).

§ cvRepeat()

void cvRepeat ( const CvArr src,
CvArr dst 
)

Repeats source 2d array several times in both horizontal and vertical direction to fill destination array

§ cvResetImageROI()

void cvResetImageROI ( IplImage image)

Resets the image ROI to include the entire image and releases the ROI structure.

This produces a similar result to the following, but in addition it releases the ROI structure. :

cvSetImageROI(image, cvRect(0, 0, image->width, image->height ));
cvSetImageCOI(image, 0);
Parameters
imageA pointer to the image header

§ cvReshape()

CvMat* cvReshape ( const CvArr arr,
CvMat header,
int  new_cn,
int  new_rows = 0 
)

Changes shape of matrix/image without copying data.

The function initializes the CvMat header so that it points to the same data as the original array but has a different shape - different number of channels, different number of rows, or both.

The following example code creates one image buffer and two image headers, the first is for a 320x240x3 image and the second is for a 960x240x1 image:

IplImage* color_img = cvCreateImage(cvSize(320,240), IPL_DEPTH_8U, 3);
CvMat gray_mat_hdr;
IplImage gray_img_hdr, *gray_img;
cvReshape(color_img, &gray_mat_hdr, 1);
gray_img = cvGetImage(&gray_mat_hdr, &gray_img_hdr);

And the next example converts a 3x3 matrix to a single 1x9 vector:

CvMat* mat = cvCreateMat(3, 3, CV_32F);
CvMat row_header, *row;
row = cvReshape(mat, &row_header, 0, 1);
Parameters
arrInput array
headerOutput header to be filled
new_cnNew number of channels. 'new_cn = 0' means that the number of channels remains unchanged.
new_rowsNew number of rows. 'new_rows = 0' means that the number of rows remains unchanged unless it needs to be changed according to new_cn value.

§ cvReshapeMatND()

CvArr* cvReshapeMatND ( const CvArr arr,
int  sizeof_header,
CvArr header,
int  new_cn,
int  new_dims,
int *  new_sizes 
)

Changes the shape of a multi-dimensional array without copying the data.

The function is an advanced version of cvReshape that can work with multi-dimensional arrays as well (though it can work with ordinary images and matrices) and change the number of dimensions.

Below are the two samples from the cvReshape description rewritten using cvReshapeMatND:

IplImage* color_img = cvCreateImage(cvSize(320,240), IPL_DEPTH_8U, 3);
IplImage gray_img_hdr, *gray_img;
gray_img = (IplImage*)cvReshapeMatND(color_img, sizeof(gray_img_hdr), &gray_img_hdr, 1, 0, 0);
...
int size[] = { 2, 2, 2 };
CvMatND* mat = cvCreateMatND(3, size, CV_32F);
CvMat row_header, *row;
row = (CvMat*)cvReshapeMatND(mat, sizeof(row_header), &row_header, 0, 1, 0);

In C, the header file for this function includes a convenient macro cvReshapeND that does away with the sizeof_header parameter. So, the lines containing the call to cvReshapeMatND in the examples may be replaced as follow:

gray_img = (IplImage*)cvReshapeND(color_img, &gray_img_hdr, 1, 0, 0);
...
row = (CvMat*)cvReshapeND(mat, &row_header, 0, 1, 0);
Parameters
arrInput array
sizeof_headerSize of output header to distinguish between IplImage, CvMat and CvMatND output headers
headerOutput header to be filled
new_cnNew number of channels. new_cn = 0 means that the number of channels remains unchanged.
new_dimsNew number of dimensions. new_dims = 0 means that the number of dimensions remains the same.
new_sizesArray of new dimension sizes. Only new_dims-1 values are used, because the total number of elements must remain the same. Thus, if new_dims = 1, new_sizes array is not used.

§ cvRestoreMemStoragePos()

void cvRestoreMemStoragePos ( CvMemStorage storage,
CvMemStoragePos pos 
)

Restore a storage "free memory" position

§ cvRNG()

CvRNG cvRNG ( int64  seed = -1)

Initializes a random number generator state.

The function initializes a random number generator and returns the state. The pointer to the state can be then passed to the cvRandInt, cvRandReal and cvRandArr functions. In the current implementation a multiply-with-carry generator is used.

Parameters
seed64-bit value used to initiate a random sequence
See also
the C++ class RNG replaced CvRNG.

§ cvROIToRect()

CvRect cvROIToRect ( IplROI  roi)

§ cvSaveMemStoragePos()

void cvSaveMemStoragePos ( const CvMemStorage storage,
CvMemStoragePos pos 
)

Remember a storage "free memory" position

§ cvScalar() [1/3]

CvScalar cvScalar ( double  val0,
double  val1 = 0,
double  val2 = 0,
double  val3 = 0 
)

§ cvScalar() [2/3]

CvScalar cvScalar ( )

§ cvScalar() [3/3]

CvScalar cvScalar ( const cv::Scalar s)

§ cvScalarAll()

CvScalar cvScalarAll ( double  val0123)

§ cvScalarToRawData()

void cvScalarToRawData ( const CvScalar scalar,
void *  data,
int  type,
int  extend_to_12 = 0 
)

low-level scalar <-> raw data conversion functions

§ cvScaleAdd()

void cvScaleAdd ( const CvArr src1,
CvScalar  scale,
const CvArr src2,
CvArr dst 
)

dst = src1 * scale + src2

§ cvSeqElemIdx()

int cvSeqElemIdx ( const CvSeq seq,
const void *  element,
CvSeqBlock **  block = NULL 
)

Calculates index of the specified sequence element. Returns -1 if element does not belong to the sequence

§ cvSeqInsert()

schar* cvSeqInsert ( CvSeq seq,
int  before_index,
const void *  element = NULL 
)

Inserts a new element in the middle of sequence. cvSeqInsert(seq,0,elem) == cvSeqPushFront(seq,elem)

§ cvSeqInsertSlice()

void cvSeqInsertSlice ( CvSeq seq,
int  before_index,
const CvArr from_arr 
)

Inserts a sequence or array into another sequence

§ cvSeqInvert()

void cvSeqInvert ( CvSeq seq)

Reverses order of sequence elements in-place

§ cvSeqPartition()

int cvSeqPartition ( const CvSeq seq,
CvMemStorage storage,
CvSeq **  labels,
CvCmpFunc  is_equal,
void *  userdata 
)

Splits sequence into one or more equivalence classes using the specified criteria

§ cvSeqPop()

void cvSeqPop ( CvSeq seq,
void *  element = NULL 
)

Removes the last element from sequence and optionally saves it

§ cvSeqPopFront()

void cvSeqPopFront ( CvSeq seq,
void *  element = NULL 
)

Removes the first element from sequence and optioanally saves it

§ cvSeqPopMulti()

void cvSeqPopMulti ( CvSeq seq,
void *  elements,
int  count,
int  in_front = 0 
)

Removes several elements from the end of sequence and optionally saves them

§ cvSeqPush()

schar* cvSeqPush ( CvSeq seq,
const void *  element = NULL 
)

Adds new element to the end of sequence. Returns pointer to the element

§ cvSeqPushFront()

schar* cvSeqPushFront ( CvSeq seq,
const void *  element = NULL 
)

Adds new element to the beginning of sequence. Returns pointer to it

§ cvSeqPushMulti()

void cvSeqPushMulti ( CvSeq seq,
const void *  elements,
int  count,
int  in_front = 0 
)

Adds several new elements to the end of sequence

§ cvSeqRemove()

void cvSeqRemove ( CvSeq seq,
int  index 
)

Removes specified sequence element

§ cvSeqRemoveSlice()

void cvSeqRemoveSlice ( CvSeq seq,
CvSlice  slice 
)

Removes sequence slice

§ cvSeqSearch()

schar* cvSeqSearch ( CvSeq seq,
const void *  elem,
CvCmpFunc  func,
int  is_sorted,
int *  elem_idx,
void *  userdata = NULL 
)

Finds element in a [sorted] sequence

§ cvSeqSlice()

CvSeq* cvSeqSlice ( const CvSeq seq,
CvSlice  slice,
CvMemStorage storage = NULL,
int  copy_data = 0 
)

Extracts sequence slice (with or without copying sequence elements)

§ cvSeqSort()

void cvSeqSort ( CvSeq seq,
CvCmpFunc  func,
void *  userdata = NULL 
)

Sorts sequence in-place given element comparison function

§ cvSet()

void cvSet ( CvArr arr,
CvScalar  value,
const CvArr mask = NULL 
)

Sets every element of an array to a given value.

The function copies the scalar value to every selected element of the destination array:

\[\texttt{arr} (I)= \texttt{value} \quad \text{if} \quad \texttt{mask} (I) \ne 0\]

If array arr is of IplImage type, then is ROI used, but COI must not be set.

Parameters
arrThe destination array
valueFill value
maskOperation mask, 8-bit single channel array; specifies elements of the destination array to be changed

§ cvSet1D()

void cvSet1D ( CvArr arr,
int  idx0,
CvScalar  value 
)

Change the particular array element.

The functions assign the new value to a particular array element. In the case of a sparse array the functions create the node if it does not exist yet.

Parameters
arrInput array
idx0The first zero-based component of the element index
valueThe assigned value

§ cvSet2D()

void cvSet2D ( CvArr arr,
int  idx0,
int  idx1,
CvScalar  value 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvSet3D()

void cvSet3D ( CvArr arr,
int  idx0,
int  idx1,
int  idx2,
CvScalar  value 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvSetAdd()

int cvSetAdd ( CvSet set_header,
CvSetElem elem = NULL,
CvSetElem **  inserted_elem = NULL 
)

Adds new element to the set and returns pointer to it

§ cvSetData()

void cvSetData ( CvArr arr,
void *  data,
int  step 
)

Assigns user data to the array header.

The function assigns user data to the array header. Header should be initialized before using cvCreateMatHeader, cvCreateImageHeader, cvCreateMatNDHeader, cvInitMatHeader, cvInitImageHeader or cvInitMatNDHeader.

Parameters
arrArray header
dataUser data
stepFull row length in bytes

§ cvSetErrMode()

int cvSetErrMode ( int  mode)

Sets error processing mode, returns previously used mode

§ cvSetErrStatus()

void cvSetErrStatus ( int  status)

Sets error status silently

§ cvSetIdentity()

void cvSetIdentity ( CvArr mat,
CvScalar  value = cvRealScalar(1) 
)
  • Finds selected eigen values and vectors of a symmetric matrix */ Makes an identity matrix (mat_ij = i == j)

§ cvSetImageCOI()

void cvSetImageCOI ( IplImage image,
int  coi 
)

Sets the channel of interest in an IplImage.

If the ROI is set to NULL and the coi is not 0, the ROI is allocated. Most OpenCV functions do not* support the COI setting, so to process an individual image/matrix channel one may copy (via cvCopy or cvSplit) the channel to a separate image/matrix, process it and then copy the result back (via cvCopy or cvMerge) if needed.

Parameters
imageA pointer to the image header
coiThe channel of interest. 0 - all channels are selected, 1 - first channel is selected, etc. Note that the channel indices become 1-based.

§ cvSetImageROI()

void cvSetImageROI ( IplImage image,
CvRect  rect 
)

Sets an image Region Of Interest (ROI) for a given rectangle.

If the original image ROI was NULL and the rect is not the whole image, the ROI structure is allocated.

Most OpenCV functions support the use of ROI and treat the image rectangle as a separate image. For example, all of the pixel coordinates are counted from the top-left (or bottom-left) corner of the ROI, not the original image.

Parameters
imageA pointer to the image header
rectThe ROI rectangle

§ cvSetIPLAllocators()

void cvSetIPLAllocators ( Cv_iplCreateImageHeader  create_header,
Cv_iplAllocateImageData  allocate_data,
Cv_iplDeallocate  deallocate,
Cv_iplCreateROI  create_roi,
Cv_iplCloneImage  clone_image 
)

Makes OpenCV use IPL functions for allocating IplImage and IplROI structures.

Normally, the function is not called directly. Instead, a simple macro CV_TURN_ON_IPL_COMPATIBILITY() is used that calls cvSetIPLAllocators and passes there pointers to IPL allocation functions. :

...
CV_TURN_ON_IPL_COMPATIBILITY()
...
Parameters
create_headerpointer to a function, creating IPL image header.
allocate_datapointer to a function, allocating IPL image data.
deallocatepointer to a function, deallocating IPL image.
create_roipointer to a function, creating IPL image ROI (i.e. Region of Interest).
clone_imagepointer to a function, cloning an IPL image.

§ cvSetND()

void cvSetND ( CvArr arr,
const int *  idx,
CvScalar  value 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
arrInput array
idxArray of the element indices
valueThe assigned value

§ cvSetNew()

CvSetElem* cvSetNew ( CvSet set_header)

Fast variant of cvSetAdd

§ cvSetNumThreads()

void cvSetNumThreads ( int  threads = 0)

§ cvSetReal1D()

void cvSetReal1D ( CvArr arr,
int  idx0,
double  value 
)

Change a specific array element.

The functions assign a new value to a specific element of a single-channel array. If the array has multiple channels, a runtime error is raised. Note that the Set*D function can be used safely for both single-channel and multiple-channel arrays, though they are a bit slower.

In the case of a sparse array the functions create the node if it does not yet exist.

Parameters
arrInput array
idx0The first zero-based component of the element index
valueThe assigned value

§ cvSetReal2D()

void cvSetReal2D ( CvArr arr,
int  idx0,
int  idx1,
double  value 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvSetReal3D()

void cvSetReal3D ( CvArr arr,
int  idx0,
int  idx1,
int  idx2,
double  value 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

§ cvSetRealND()

void cvSetRealND ( CvArr arr,
const int *  idx,
double  value 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
arrInput array
idxArray of the element indices
valueThe assigned value

§ cvSetRemove()

void cvSetRemove ( CvSet set_header,
int  index 
)

Removes element from the set by its index

§ cvSetRemoveByPtr()

void cvSetRemoveByPtr ( CvSet set_header,
void *  elem 
)

Removes set element given its pointer

§ cvSetSeqBlockSize()

void cvSetSeqBlockSize ( CvSeq seq,
int  delta_elems 
)

Changes default size (granularity) of sequence blocks. The default size is ~1Kbyte

§ cvSetSeqReaderPos()

void cvSetSeqReaderPos ( CvSeqReader reader,
int  index,
int  is_relative = 0 
)

Changes sequence reader position. It may seek to an absolute or to relative to the current position

§ cvSetZero()

void cvSetZero ( CvArr arr)

Clears the array.

The function clears the array. In the case of dense arrays (CvMat, CvMatND or IplImage), cvZero(array) is equivalent to cvSet(array,cvScalarAll(0),0). In the case of sparse arrays all the elements are removed.

Parameters
arrArray to be cleared

§ cvSize() [1/2]

CvSize cvSize ( int  width,
int  height 
)

constructs CvSize structure.

§ cvSize() [2/2]

CvSize cvSize ( const cv::Size sz)

§ cvSize2D32f() [1/2]

CvSize2D32f cvSize2D32f ( double  width,
double  height 
)

constructs CvSize2D32f structure.

§ cvSize2D32f() [2/2]

template<typename _Tp >
CvSize2D32f cvSize2D32f ( const cv::Size_< _Tp > &  sz)

§ cvSlice() [1/2]

CvSlice cvSlice ( int  start,
int  end 
)

§ cvSlice() [2/2]

CvSlice cvSlice ( const cv::Range r)

§ cvSliceLength()

int cvSliceLength ( CvSlice  slice,
const CvSeq seq 
)

Calculates length of sequence slice (with support of negative indices).

§ cvSolve()

int cvSolve ( const CvArr src1,
const CvArr src2,
CvArr dst,
int  method = 0 
)

Solves linear system (src1)*(dst) = (src2) (returns 0 if src1 is a singular and CV_LU method is used)

§ cvSolveCubic()

int cvSolveCubic ( const CvMat coeffs,
CvMat roots 
)

Finds real roots of a cubic equation

§ cvSolvePoly()

void cvSolvePoly ( const CvMat coeffs,
CvMat roots2,
int  maxiter = 20,
int  fig = 100 
)

Finds all real and complex roots of a polynomial equation

§ cvSort()

void cvSort ( const CvArr src,
CvArr dst = NULL,
CvArr idxmat = NULL,
int  flags = 0 
)

§ cvSplit()

void cvSplit ( const CvArr src,
CvArr dst0,
CvArr dst1,
CvArr dst2,
CvArr dst3 
)

Splits a multi-channel array into the set of single-channel arrays or extracts particular [color] plane

§ cvStartAppendToSeq()

void cvStartAppendToSeq ( CvSeq seq,
CvSeqWriter writer 
)

Initializes sequence writer. The new elements will be added to the end of sequence

§ cvStartReadSeq()

void cvStartReadSeq ( const CvSeq seq,
CvSeqReader reader,
int  reverse = 0 
)

Initializes sequence reader. The sequence can be read in forward or backward direction

§ cvStartWriteSeq()

void cvStartWriteSeq ( int  seq_flags,
int  header_size,
int  elem_size,
CvMemStorage storage,
CvSeqWriter writer 
)

Combination of cvCreateSeq and cvStartAppendToSeq

§ cvStdErrReport()

int cvStdErrReport ( int  status,
const char *  func_name,
const char *  err_msg,
const char *  file_name,
int  line,
void *  userdata 
)

Output to console(fprintf(stderr,...))

§ cvSub()

void cvSub ( const CvArr src1,
const CvArr src2,
CvArr dst,
const CvArr mask = NULL 
)

dst(mask) = src1(mask) - src2(mask)

§ cvSubRS()

void cvSubRS ( const CvArr src,
CvScalar  value,
CvArr dst,
const CvArr mask = NULL 
)

dst(mask) = value - src(mask)

§ cvSubS()

void cvSubS ( const CvArr src,
CvScalar  value,
CvArr dst,
const CvArr mask = NULL 
)

dst(mask) = src(mask) - value = src(mask) + (-value)

§ cvSum()

CvScalar cvSum ( const CvArr arr)

Finds sum of array elements

§ cvSVBkSb()

void cvSVBkSb ( const CvArr W,
const CvArr U,
const CvArr V,
const CvArr B,
CvArr X,
int  flags 
)

Performs Singular Value Back Substitution (solves A*X = B): flags must be the same as in cvSVD

§ cvSVD()

void cvSVD ( CvArr A,
CvArr W,
CvArr U = NULL,
CvArr V = NULL,
int  flags = 0 
)

Performs Singular Value Decomposition of a matrix

§ cvTermCriteria() [1/2]

CvTermCriteria cvTermCriteria ( int  type,
int  max_iter,
double  epsilon 
)

§ cvTermCriteria() [2/2]

CvTermCriteria cvTermCriteria ( const cv::TermCriteria t)

§ cvTrace()

CvScalar cvTrace ( const CvArr mat)

Calculates trace of the matrix (sum of elements on the main diagonal)

§ cvTransform()

void cvTransform ( const CvArr src,
CvArr dst,
const CvMat transmat,
const CvMat shiftvec = NULL 
)

Transforms each element of source array and stores resultant vectors in destination array

§ cvTranspose()

void cvTranspose ( const CvArr src,
CvArr dst 
)

Tranposes matrix. Square matrices can be transposed in-place

§ cvTreeToNodeSeq()

CvSeq* cvTreeToNodeSeq ( const void *  first,
int  header_size,
CvMemStorage storage 
)

Gathers pointers to all the sequences, accessible from the first, to the single sequence

§ cvUseOptimized()

int cvUseOptimized ( int  on_off)

Loads optimized functions from IPP, MKL etc. or switches back to pure C code

§ cvXor()

void cvXor ( const CvArr src1,
const CvArr src2,
CvArr dst,
const CvArr mask = NULL 
)

dst(idx) = src1(idx) ^ src2(idx)

§ cvXorS()

void cvXorS ( const CvArr src,
CvScalar  value,
CvArr dst,
const CvArr mask = NULL 
)

dst(idx) = src(idx) ^ value