OpenCV 4.5.3(日本語機械翻訳)
|
モジュール |
|
Connections with C++ | |
クラス |
|
struct | CvNArrayIterator |
struct | CvGraphScanner |
struct | CvTreeNodeIterator |
struct | _IplImage |
struct | _IplROI |
struct | _IplConvKernel |
struct | _IplConvKernelFP |
struct | CvMat |
struct | CvMatND |
struct | CvSparseMat |
struct | CvSparseNode |
struct | CvSparseMatIterator |
struct | CvHistogram |
struct | CvRect |
struct | CvTermCriteria |
struct | CvPoint |
struct | CvPoint2D32f |
struct | CvPoint3D32f |
struct | CvPoint2D64f |
struct | CvPoint3D64f |
struct | CvSize |
struct | CvSize2D32f |
struct | CvBox2D |
struct | CvLineIterator |
struct | CvSlice |
struct | CvScalar |
struct | CvMemBlock |
struct | CvMemStorage |
struct | CvMemStoragePos |
struct | CvSeqBlock |
struct | CvSeq |
struct | CvSetElem |
struct | CvSet |
struct | CvGraphEdge |
struct | CvGraphVtx |
struct | CvGraphVtx2D |
struct | CvGraph |
struct | CvChain |
struct | CvContour |
struct | CvSeqWriter |
struct | CvSeqReader |
マクロ定義 |
|
#define | cvFree(ptr) (cvFree_(*(ptr)), *(ptr)=0) |
#define | CV_AUTOSTEP 0x7fffffff |
#define | cvGetSubArr cvGetSubRect |
#define | CV_MAX_ARR 10 |
#define | CV_NO_DEPTH_CHECK 1 |
#define | CV_NO_CN_CHECK 2 |
#define | CV_NO_SIZE_CHECK 4 |
#define | cvReshapeND(arr, header, new_cn, new_dims, new_sizes) |
#define | cvZero cvSetZero |
#define | cvCvtScale cvConvertScale |
#define | cvScale cvConvertScale |
#define | cvConvert(src, dst) cvConvertScale( (src), (dst), 1, 0 ) |
#define | cvCvtScaleAbs cvConvertScaleAbs |
#define | cvAXPY(A, real_scalar, B, C) cvScaleAdd(A, cvRealScalar(real_scalar), B, C) |
#define | CV_CMP_EQ 0 |
#define | CV_CMP_GT 1 |
#define | CV_CMP_GE 2 |
#define | CV_CMP_LT 3 |
#define | CV_CMP_LE 4 |
#define | CV_CMP_NE 5 |
#define | cvAbs(src, dst) cvAbsDiffS( (src), (dst), cvScalarAll(0)) |
#define | CV_CHECK_RANGE 1 |
#define | CV_CHECK_QUIET 2 |
#define | cvCheckArray cvCheckArr |
#define | CV_RAND_UNI 0 |
#define | CV_RAND_NORMAL 1 |
#define | CV_SORT_EVERY_ROW 0 |
#define | CV_SORT_EVERY_COLUMN 1 |
#define | CV_SORT_ASCENDING 0 |
#define | CV_SORT_DESCENDING 16 |
#define | cvMatMulAdd(src1, src2, src3, dst) cvGEMM( (src1), (src2), 1., (src3), 1., (dst), 0 ) |
#define | cvMatMul(src1, src2, dst)cvMatMulAdd( (src1), (src2), NULL, (dst)) |
#define | CV_GEMM_A_T 1 |
#define | CV_GEMM_B_T 2 |
#define | CV_GEMM_C_T 4 |
#define | cvMatMulAddEx cvGEMM |
#define | cvMatMulAddS cvTransform |
#define | cvT cvTranspose |
#define | cvMirror cvFlip |
#define | CV_SVD_MODIFY_A 1 |
#define | CV_SVD_U_T 2 |
#define | CV_SVD_V_T 4 |
#define | CV_LU 0 |
#define | CV_SVD 1 |
#define | CV_SVD_SYM 2 |
#define | CV_CHOLESKY 3 |
#define | CV_QR 4 |
#define | CV_NORMAL 16 |
#define | cvInv cvInvert |
#define | CV_PCA_DATA_AS_ROW 0 |
#define | CV_PCA_DATA_AS_COL 1 |
#define | CV_PCA_USE_AVG 2 |
#define | cvMahalonobis cvMahalanobis |
#define | cvFFT cvDFT |
#define | CV_FRONT 1 |
#define | CV_BACK 0 |
#define | cvGraphFindEdge cvFindGraphEdge |
#define | cvGraphFindEdgeByPtr cvFindGraphEdgeByPtr |
#define | cvGetGraphVtx(graph, idx) (CvGraphVtx*)cvGetSetElem((CvSet*)(graph), (idx)) |
#define | cvGraphVtxIdx(graph, vtx) ((vtx)->flags & CV_SET_ELEM_IDX_MASK) |
#define | cvGraphEdgeIdx(graph, edge) ((edge)->flags & CV_SET_ELEM_IDX_MASK) |
#define | cvGraphGetVtxCount(graph) ((graph)->active_count) |
#define | cvGraphGetEdgeCount(graph) ((graph)->edges->active_count) |
#define | CV_GRAPH_VERTEX 1 |
#define | CV_GRAPH_TREE_EDGE 2 |
#define | CV_GRAPH_BACK_EDGE 4 |
#define | CV_GRAPH_FORWARD_EDGE 8 |
#define | CV_GRAPH_CROSS_EDGE 16 |
#define | CV_GRAPH_ANY_EDGE 30 |
#define | CV_GRAPH_NEW_TREE 32 |
#define | CV_GRAPH_BACKTRACKING 64 |
#define | CV_GRAPH_OVER -1 |
#define | CV_GRAPH_ALL_ITEMS -1 |
#define | CV_GRAPH_ITEM_VISITED_FLAG (1 << 30) |
#define | CV_IS_GRAPH_VERTEX_VISITED(vtx) (((CvGraphVtx*)(vtx))->flags & CV_GRAPH_ITEM_VISITED_FLAG) |
#define | CV_IS_GRAPH_EDGE_VISITED(edge) (((CvGraphEdge*)(edge))->flags & CV_GRAPH_ITEM_VISITED_FLAG) |
#define | CV_GRAPH_SEARCH_TREE_NODE_FLAG (1 << 29) |
#define | CV_GRAPH_FORWARD_EDGE_FLAG (1 << 28) |
#define | CV_KMEANS_USE_INITIAL_LABELS 1 |
#define | CV_TURN_ON_IPL_COMPATIBILITY() |
#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 | OPENCV_ERROR(status, func, context) cvError((status),(func),(context),__FILE__,__LINE__) |
#define | OPENCV_ASSERT(expr, func, context) |
#define | OPENCV_CALL(Func) |
#define | CV_FUNCNAME(Name) static char cvFuncName[] = Name |
#define | CV_ERROR(Code, Msg) |
#define | CV_CHECK() |
#define | CV_CALL(Func) |
#define | CV_ASSERT(Condition) |
#define | __CV_BEGIN__ { |
#define | __CV_END__ goto exit; exit: ; } |
#define | __CV_EXIT__ goto exit |
#define | CV_SWAP(a, b, t) ((t) = (a), (a) = (b), (b) = (t)) |
#define | CV_IMIN(a, b) ((a) ^ (((a)^(b)) & (((a) < (b)) - 1))) |
#define | CV_IMAX(a, b) ((a) ^ (((a)^(b)) & (((a) > (b)) - 1))) |
#define | CV_IABS(a) (((a) ^ ((a) < 0 ? -1 : 0)) - ((a) < 0 ? -1 : 0)) |
#define | CV_CMP(a, b) (((a) > (b)) - ((a) < (b))) |
#define | CV_SIGN(a) CV_CMP((a),0) |
#define | cvInvSqrt(value) ((float)(1./sqrt(value))) |
#define | cvSqrt(value) ((float)sqrt(value)) |
#define | CV_RNG_COEFF 4164903690U |
#define | IPL_DEPTH_SIGN 0x80000000 |
#define | IPL_DEPTH_1U 1 |
#define | IPL_DEPTH_8U 8 |
#define | IPL_DEPTH_16U 16 |
#define | IPL_DEPTH_32F 32 |
#define | IPL_DEPTH_8S (IPL_DEPTH_SIGN| 8) |
#define | IPL_DEPTH_16S (IPL_DEPTH_SIGN|16) |
#define | IPL_DEPTH_32S (IPL_DEPTH_SIGN|32) |
#define | IPL_DATA_ORDER_PIXEL 0 |
#define | IPL_DATA_ORDER_PLANE 1 |
#define | IPL_ORIGIN_TL 0 |
#define | IPL_ORIGIN_BL 1 |
#define | IPL_ALIGN_4BYTES 4 |
#define | IPL_ALIGN_8BYTES 8 |
#define | IPL_ALIGN_16BYTES 16 |
#define | IPL_ALIGN_32BYTES 32 |
#define | IPL_ALIGN_DWORD IPL_ALIGN_4BYTES |
#define | IPL_ALIGN_QWORD IPL_ALIGN_8BYTES |
#define | IPL_BORDER_CONSTANT 0 |
#define | IPL_BORDER_REPLICATE 1 |
#define | IPL_BORDER_REFLECT 2 |
#define | IPL_BORDER_WRAP 3 |
#define | IPL_IMAGE_HEADER 1 |
#define | IPL_IMAGE_DATA 2 |
#define | IPL_IMAGE_ROI 4 |
#define | IPL_BORDER_REFLECT_101 4 |
#define | IPL_BORDER_TRANSPARENT 5 |
#define | IPL_IMAGE_MAGIC_VAL ((int)sizeof(IplImage)) |
#define | CV_TYPE_NAME_IMAGE "opencv-image" |
#define | CV_IS_IMAGE_HDR(img) ((img) != NULL && ((const IplImage*)(img))->nSize == sizeof(IplImage)) |
#define | CV_IS_IMAGE(img) (CV_IS_IMAGE_HDR(img) && ((IplImage*)img)->imageData != NULL) |
#define | IPL_DEPTH_64F 64 |
#define | CV_IMAGE_ELEM(image, elemtype, row, col) (((elemtype*)((image)->imageData + (image)->widthStep*(row)))[(col)]) |
#define | CV_AUTO_STEP 0x7fffffff |
#define | CV_WHOLE_ARR cvSlice( 0, 0x3fffffff ) |
#define | CV_MAGIC_MASK 0xFFFF0000 |
#define | CV_MAT_MAGIC_VAL 0x42420000 |
#define | CV_TYPE_NAME_MAT "opencv-matrix" |
#define | CV_IS_MAT_HDR(mat) |
#define | CV_IS_MAT_HDR_Z(mat) |
#define | CV_IS_MAT(mat) (CV_IS_MAT_HDR(mat) && ((const CvMat*)(mat))->data.ptr != NULL) |
#define | CV_IS_MASK_ARR(mat) (((mat)->type & (CV_MAT_TYPE_MASK & ~CV_8SC1)) == 0) |
#define | CV_ARE_TYPES_EQ(mat1, mat2) ((((mat1)->type ^ (mat2)->type) & CV_MAT_TYPE_MASK) == 0) |
#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_IS_MAT_CONST(mat) (((mat)->rows|(mat)->cols) == 1) |
#define | IPL2CV_DEPTH(depth) |
#define | CV_MAT_ELEM_PTR_FAST(mat, row, col, pix_size) |
#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(mat, elemtype, row, col) (*(elemtype*)CV_MAT_ELEM_PTR_FAST( mat, row, col, sizeof(elemtype))) |
#define | CV_MATND_MAGIC_VAL 0x42430000 |
#define | CV_TYPE_NAME_MATND "opencv-nd-matrix" |
#define | CV_MAX_DIM 32 |
#define | CV_IS_MATND_HDR(mat) ((mat) != NULL && (((const CvMatND*)(mat))->type & CV_MAGIC_MASK) == CV_MATND_MAGIC_VAL) |
#define | CV_IS_MATND(mat) (CV_IS_MATND_HDR(mat) && ((const CvMatND*)(mat))->data.ptr != NULL) |
#define | CV_SPARSE_MAT_MAGIC_VAL 0x42440000 |
#define | CV_TYPE_NAME_SPARSE_MAT "opencv-sparse-matrix" |
#define | CV_IS_SPARSE_MAT_HDR(mat) |
#define | CV_IS_SPARSE_MAT(mat) CV_IS_SPARSE_MAT_HDR(mat) |
#define | CV_NODE_VAL(mat, node) ((void*)((uchar*)(node) + (mat)->valoffset)) |
#define | CV_NODE_IDX(mat, node) ((int*)((uchar*)(node) + (mat)->idxoffset)) |
#define | CV_HIST_MAGIC_VAL 0x42450000 |
#define | CV_HIST_UNIFORM_FLAG (1 << 10) |
#define | CV_HIST_RANGES_FLAG (1 << 11) |
#define | CV_HIST_ARRAY 0 |
#define | CV_HIST_SPARSE 1 |
#define | CV_HIST_TREE CV_HIST_SPARSE |
#define | CV_HIST_UNIFORM 1 |
#define | CV_IS_HIST(hist) |
#define | CV_IS_UNIFORM_HIST(hist) (((hist)->type & CV_HIST_UNIFORM_FLAG) != 0) |
#define | CV_IS_SPARSE_HIST(hist) CV_IS_SPARSE_MAT((hist)->bins) |
#define | CV_HIST_HAS_RANGES(hist) (((hist)->type & CV_HIST_RANGES_FLAG) != 0) |
#define | CV_TERMCRIT_ITER 1 |
#define | CV_TERMCRIT_NUMBER CV_TERMCRIT_ITER |
#define | CV_TERMCRIT_EPS 2 |
#define | CV_WHOLE_SEQ_END_INDEX 0x3fffffff |
#define | CV_WHOLE_SEQ cvSlice(0, CV_WHOLE_SEQ_END_INDEX) |
#define | CV_STORAGE_MAGIC_VAL 0x42890000 |
#define | CV_IS_STORAGE(storage) |
#define | CV_TREE_NODE_FIELDS(node_type) |
#define | CV_SEQUENCE_FIELDS() |
#define | CV_TYPE_NAME_SEQ "opencv-sequence" |
#define | CV_TYPE_NAME_SEQ_TREE "opencv-sequence-tree" |
#define | CV_SET_ELEM_FIELDS(elem_type) |
Set 順序は保持されません。シーケンスの要素間に隙間ができることがあります。要素が挿入された後は、常に同じ場所にあります。要素が存在する場合,第1フィールド(フラグ)のMSB(最上位ビットまたは符号ビット)は0です。[【詳解】(英語]
|
|
#define | CV_SET_FIELDS() |
#define | CV_SET_ELEM_IDX_MASK ((1 << 26) - 1) |
#define | CV_SET_ELEM_FREE_FLAG (1 << (sizeof(int)*8-1)) |
#define | CV_IS_SET_ELEM(ptr) (((CvSetElem*)(ptr))->flags >= 0) |
#define | CV_CONTOUR_FIELDS() |
#define | CV_SEQ_MAGIC_VAL 0x42990000 |
#define | CV_IS_SEQ(seq) ((seq) != NULL && (((CvSeq*)(seq))->flags & CV_MAGIC_MASK) == CV_SEQ_MAGIC_VAL) |
#define | CV_SET_MAGIC_VAL 0x42980000 |
#define | CV_IS_SET(set) ((set) != NULL && (((CvSeq*)(set))->flags & CV_MAGIC_MASK) == CV_SET_MAGIC_VAL) |
#define | CV_SEQ_ELTYPE_BITS 12 |
#define | CV_SEQ_ELTYPE_MASK ((1 << CV_SEQ_ELTYPE_BITS) - 1) |
#define | CV_SEQ_ELTYPE_POINT CV_32SC2 |
#define | CV_SEQ_ELTYPE_CODE CV_8UC1 |
#define | CV_SEQ_ELTYPE_GENERIC 0 |
#define | CV_SEQ_ELTYPE_PTR CV_MAKE_TYPE(CV_8U, 8 /*sizeof(void*)*/) |
#define | CV_SEQ_ELTYPE_PPOINT CV_SEQ_ELTYPE_PTR |
#define | CV_SEQ_ELTYPE_INDEX CV_32SC1 |
#define | CV_SEQ_ELTYPE_GRAPH_EDGE 0 |
#define | CV_SEQ_ELTYPE_GRAPH_VERTEX 0 |
#define | CV_SEQ_ELTYPE_TRIAN_ATR 0 |
#define | CV_SEQ_ELTYPE_CONNECTED_COMP 0 |
#define | CV_SEQ_ELTYPE_POINT3D CV_32FC3 |
#define | CV_SEQ_KIND_BITS 2 |
#define | CV_SEQ_KIND_MASK (((1 << CV_SEQ_KIND_BITS) - 1)<<CV_SEQ_ELTYPE_BITS) |
#define | CV_SEQ_KIND_GENERIC (0 << CV_SEQ_ELTYPE_BITS) |
#define | CV_SEQ_KIND_CURVE (1 << CV_SEQ_ELTYPE_BITS) |
#define | CV_SEQ_KIND_BIN_TREE (2 << CV_SEQ_ELTYPE_BITS) |
#define | CV_SEQ_KIND_GRAPH (1 << CV_SEQ_ELTYPE_BITS) |
#define | CV_SEQ_KIND_SUBDIV2D (2 << CV_SEQ_ELTYPE_BITS) |
#define | CV_SEQ_FLAG_SHIFT (CV_SEQ_KIND_BITS + CV_SEQ_ELTYPE_BITS) |
#define | CV_SEQ_FLAG_CLOSED (1 << CV_SEQ_FLAG_SHIFT) |
#define | CV_SEQ_FLAG_SIMPLE (0 << 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_GRAPH_FLAG_ORIENTED (1 << CV_SEQ_FLAG_SHIFT) |
#define | CV_GRAPHCV_SEQ_KIND_GRAPH |
#define | CV_ORIENTED_GRAPH (CV_SEQ_KIND_GRAPH|CV_GRAPH_FLAG_ORIENTED) |
#define | CV_SEQ_POINT_SET (CV_SEQ_KIND_GENERIC| CV_SEQ_ELTYPE_POINT) |
#define | CV_SEQ_POINT3D_SET (CV_SEQ_KIND_GENERIC| CV_SEQ_ELTYPE_POINT3D) |
#define | CV_SEQ_POLYLINE (CV_SEQ_KIND_CURVE | CV_SEQ_ELTYPE_POINT) |
#define | CV_SEQ_POLYGON (CV_SEQ_FLAG_CLOSED | CV_SEQ_POLYLINE ) |
#define | CV_SEQ_CONTOUR CV_SEQ_POLYGON |
#define | CV_SEQ_SIMPLE_POLYGON (CV_SEQ_FLAG_SIMPLE | CV_SEQ_POLYGON ) |
#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_POLYGON_TREE (CV_SEQ_KIND_BIN_TREE | CV_SEQ_ELTYPE_TRIAN_ATR) |
#define | CV_SEQ_CONNECTED_COMP (CV_SEQ_KIND_GENERIC | CV_SEQ_ELTYPE_CONNECTED_COMP) |
#define | CV_SEQ_INDEX (CV_SEQ_KIND_GENERIC | CV_SEQ_ELTYPE_INDEX) |
#define | CV_SEQ_ELTYPE(seq) ((seq)->flags & CV_SEQ_ELTYPE_MASK) |
#define | CV_SEQ_KIND(seq) ((seq)->flags & CV_SEQ_KIND_MASK ) |
#define | CV_IS_SEQ_INDEX(seq) |
#define | CV_IS_SEQ_CURVE(seq) (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE) |
#define | CV_IS_SEQ_CLOSED(seq) (((seq)->flags & CV_SEQ_FLAG_CLOSED) != 0) |
#define | CV_IS_SEQ_CONVEX(seq) 0 |
#define | CV_IS_SEQ_HOLE(seq) (((seq)->flags & CV_SEQ_FLAG_HOLE) != 0) |
#define | CV_IS_SEQ_SIMPLE(seq) 1 |
#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_POLYLINE(seq) (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && CV_IS_SEQ_POINT_SET(seq)) |
#define | CV_IS_SEQ_POLYGON(seq) (CV_IS_SEQ_POLYLINE(seq) && CV_IS_SEQ_CLOSED(seq)) |
#define | CV_IS_SEQ_CHAIN(seq) (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && (seq)->elem_size == 1) |
#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_CHAIN_CONTOUR(seq) (CV_IS_SEQ_CHAIN( seq ) && CV_IS_SEQ_CLOSED( seq )) |
#define | CV_IS_SEQ_POLYGON_TREE(seq) |
#define | CV_IS_GRAPH(seq) (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_GRAPH) |
#define | CV_IS_GRAPH_ORIENTED(seq) (((seq)->flags & CV_GRAPH_FLAG_ORIENTED) != 0) |
#define | CV_IS_SUBDIV2D(seq) (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_SUBDIV2D) |
#define | CV_SEQ_WRITER_FIELDS() |
#define | CV_SEQ_READER_FIELDS() |
#define | CV_SEQ_ELEM(seq, elem_type, index) |
#define | CV_GET_SEQ_ELEM(elem_type, seq, index) CV_SEQ_ELEM( (seq), elem_type, (index) ) |
#define | CV_WRITE_SEQ_ELEM_VAR(elem_ptr, writer) |
#define | CV_WRITE_SEQ_ELEM(elem, writer) |
#define | CV_NEXT_SEQ_ELEM(elem_size, reader) |
#define | CV_PREV_SEQ_ELEM(elem_size, reader) |
#define | CV_READ_SEQ_ELEM(elem, reader) |
#define | CV_REV_READ_SEQ_ELEM(elem, reader) |
#define | CV_READ_CHAIN_POINT(_pt, reader) |
#define | CV_CURRENT_POINT(reader) (*((CvPoint*)((reader).ptr))) |
#define | CV_PREV_POINT(reader) (*((CvPoint*)((reader).prev_elem))) |
#define | CV_READ_EDGE(pt1, pt2, reader) |
#define | CV_NEXT_GRAPH_EDGE(edge, vertex) |
型定義 |
|
typedef struct CvNArrayIterator | CvNArrayIterator |
typedef int(CV_CDECL * | CvCmpFunc) (const void *a, const void *b, void *userdata) |
typedef struct CvGraphScanner | CvGraphScanner |
typedef struct CvTreeNodeIterator | CvTreeNodeIterator |
typedef IplImage *(CV_STDCALL * | Cv_iplCreateImageHeader) (int, int, int, char *, char *, int, int, int, int, int, IplROI *, IplImage *, void *, IplTileInfo *) |
typedef void(CV_STDCALL * | Cv_iplAllocateImageData) (IplImage *, int, int) |
typedef void(CV_STDCALL * | Cv_iplDeallocate) (IplImage *, int) |
typedef IplROI *(CV_STDCALL * | Cv_iplCreateROI) (int, int, int, int, int) |
typedef IplImage *(CV_STDCALL * | Cv_iplCloneImage) (const IplImage *) |
typedef int(CV_CDECL * | CvErrorCallback) (int status, const char *func_name, const char *err_msg, const char *file_name, int line, void *userdata) |
typedef void | CvArr |
これは,関数のパラメータとして使われる「メタタイプのみを使用しています。関数のパラメータとして使用される「メタタイプ」です.[【詳解】(英語]
|
|
typedef int | CVStatus |
typedef uint64 | CvRNG |
typedef struct _IplImage | IplImage |
typedef struct _IplTileInfo | IplTileInfo |
typedef struct _IplROI | IplROI |
typedef struct _IplConvKernel | IplConvKernel |
typedef struct _IplConvKernelFP | IplConvKernelFP |
typedef struct CvMat | CvMat |
typedef struct CvMatND | CvMatND |
typedef struct CvSparseMat | CvSparseMat |
typedef struct CvSparseNode | CvSparseNode |
typedef struct CvSparseMatIterator | CvSparseMatIterator |
typedef int | CvHistType |
typedef struct CvHistogram | CvHistogram |
typedef struct CvRect | CvRect |
typedef struct CvTermCriteria | CvTermCriteria |
typedef struct CvPoint | CvPoint |
typedef struct CvPoint2D32f | CvPoint2D32f |
typedef struct CvPoint3D32f | CvPoint3D32f |
typedef struct CvPoint2D64f | CvPoint2D64f |
typedef struct CvPoint3D64f | CvPoint3D64f |
typedef struct CvSize | CvSize |
typedef struct CvSize2D32f | CvSize2D32f |
typedef struct CvBox2D | CvBox2D |
typedef struct CvLineIterator | CvLineIterator |
typedef struct CvSlice | CvSlice |
typedef struct CvScalar | CvScalar |
typedef struct CvMemBlock | CvMemBlock |
typedef struct CvMemStorage | CvMemStorage |
typedef struct CvMemStoragePos | CvMemStoragePos |
typedef struct CvSeqBlock | CvSeqBlock |
typedef struct CvSeq | CvSeq |
typedef struct CvSetElem | CvSetElem |
typedef struct CvSet | CvSet |
typedef struct CvChain | CvChain |
typedef struct CvContour | CvContour |
typedef CvContour | CvPoint2DSeq |
typedef struct CvSeqWriter | CvSeqWriter |
typedef struct CvSeqReader | CvSeqReader |
関数 |
|
CVAPI (CvArr *) cvReshapeMatND(const CvArr *arr | |
データをコピーすることなく,多次元配列の形状を変更します.[【詳解】(英語]
|
|
CVAPI (void) cvReleaseImageHeader(IplImage **image) | |
画像ヘッダを解放します。[【詳解】(英語]
|
|
CVAPI (IplImage *) cvCreateImageHeader(CvSize size | |
画像ヘッダを作成しますが,画像データの割り当ては行いません.[【詳解】(英語]
|
|
CvSize int int int origin | CV_DEFAULT (0) |
CvSize int int int origin int align | CV_DEFAULT (4)) |
CVAPI (int) cvGetImageCOI(const IplImage *image) | |
注目しているチャンネルのインデックスを返す[【詳解】(英語]
|
|
CVAPI (CvRect) cvGetImageROI(const IplImage *image) | |
画像の ROI を返します.[【詳解】(英語]
|
|
CVAPI (CvMat *) cvCreateMatHeader(int rows | |
行列ヘッダを作成しますが,行列データの割り当ては行いません.[【詳解】(英語]
|
|
int int int void *data | CV_DEFAULT (NULL) |
int int int void *data int step | CV_DEFAULT (CV_AUTOSTEP)) |
CV_INLINE void | cvDecRefData (CvArr *arr) |
配列のデータ参照カウンタをデクリメントします.[【詳解】(英語]
|
|
CV_INLINE int | cvIncRefData (CvArr *arr) |
配列データの参照カウンタをインクリメントします.[【詳解】(英語]
|
|
CvMat int int int delta_row | CV_DEFAULT (1)) |
CV_INLINE CvMat * | cvGetRow (const CvArr *arr, CvMat *submat, int row) |
CV_INLINE CvMat * | cvGetCol (const CvArr *arr, CvMat *submat, int col) |
CVAPI (CvMatND *) cvCreateMatNDHeader(int dims | |
新しい行列ヘッダを作成しますが,行列データの割り当ては行いません.[【詳解】(英語]
|
|
CV_INLINE void | cvReleaseMatND (CvMatND **mat) |
多次元配列を解放します.[【詳解】(英語]
|
|
CVAPI (CvSparseMat *) cvCreateSparseMat(int dims | |
疎な配列を作成します.[【詳解】(英語]
|
|
CVAPI (CvSparseNode *) cvInitSparseMatIterator(const CvSparseMat *mat | |
疎な配列要素のイテレータを初期化します.[【詳解】(英語]
|
|
CV_INLINE CvSparseNode * | cvGetNextSparseNode (CvSparseMatIterator *mat_iterator) |
疎な行列の次の要素を返します.[【詳解】(英語]
|
|
CVAPI (uchar *) cvPtr1D(const CvArr *arr | |
特定の配列要素へのポインタを返します。[【詳解】(英語]
|
|
CVAPI (CvScalar) cvGet1D(const CvArr *arr | |
特定の配列要素を返します.[【詳解】(英語]
|
|
CVAPI (double) cvGetReal1D(const CvArr *arr | |
シングルチャンネルの 1D, 2D, 3D または nD 配列の,指定された要素を返します.[【詳解】(英語]
|
|
CVAPI (CvSize) cvGetSize(const CvArr *arr) | |
行列あるいは画像ROIのサイズを返します.[【詳解】(英語]
|
|
CVAPI (CvTermCriteria) cvCheckTermCriteria(CvTermCriteria criteria | |
CV_INLINE void | cvSubS (const CvArr *src, CvScalar value, CvArr *dst, const CvArr *mask CV_DEFAULT(NULL)) |
CVAPI (float) cvFastArctan(float y | |
CvRNG double iter_factor | CV_DEFAULT (1.)) |
CvMat int maxiter | CV_DEFAULT (20) |
CvMat int maxiter int fig | CV_DEFAULT (100)) |
CvArr int method | CV_DEFAULT (CV_LU)) |
CvArr CvArr double eps int lowindex | CV_DEFAULT (-1) |
CvScalar value | CV_DEFAULT (cvRealScalar(1))) |
const CvArr *arr2 int norm_type | CV_DEFAULT (CV_L2) |
CvArr double a double b | CV_DEFAULT (0.) |
CvArr int dim int op | CV_DEFAULT (CV_REDUCE_SUM)) |
CVAPI (CvMemStorage *) cvCreateMemStorage(int block_size CV_DEFAULT(0)) | |
CVAPI (CvSeq *) cvCreateSeq(int seq_flags | |
輪郭スキャナを解放し,最初の外郭へのポインタを返します.[【詳解】(英語]
|
|
CVAPI (schar *) cvSeqPush(CvSeq *seq | |
void CvSlice slice | CV_DEFAULT (CV_WHOLE_SEQ)) |
CV_INLINE CvSeq * | cvCloneSeq (const CvSeq *seq, CvMemStorage *storage CV_DEFAULT(NULL)) |
CVAPI (CvSet *) cvCreateSet(int set_flags | |
CV_INLINE CvSetElem * | cvSetNew (CvSet *set_header) |
CV_INLINE void | cvSetRemoveByPtr (CvSet *set_header, void *elem) |
CV_INLINE CvSetElem * | cvGetSetElem (const CvSet *set_header, int idx) |
CVAPI (CvGraph *) cvCreateGraph(int graph_flags | |
CVAPI (CvGraphEdge *) cvFindGraphEdge(const CvGraph *graph | |
CVAPI (CvGraphScanner *) cvCreateGraphScanner(CvGraph *graph | |
CvGraphVtx *vtx int mask | CV_DEFAULT (CV_GRAPH_ALL_ITEMS)) |
CVAPI (int64) cvGetTickCount(void) | |
CVAPI (const char *) cvErrorStr(int status) | |
CVAPI (CvErrorCallback) cvRedirectError(CvErrorCallback error_handler | |
CV_INLINE CvRNG | cvRNG (int64 seed CV_DEFAULT(-1)) |
乱数生成器の状態を初期化します。[【詳解】(英語]
|
|
CV_INLINE unsigned | cvRandInt (CvRNG *rng) |
32 ビットの符号なし整数を返し,RNG を更新します.[【詳解】(英語]
|
|
CV_INLINE double | cvRandReal (CvRNG *rng) |
浮動小数点型の乱数を返し,RNGを更新します.[【詳解】(英語]
|
|
CV_INLINE IplImage | cvIplImage () |
CV_INLINE CvMat | cvMat (int rows, int cols, int type, void *data CV_DEFAULT(NULL)) |
CV_INLINE double | cvmGet (const CvMat *mat, int row, int col) |
シングルチャンネルの浮動小数点型行列の指定された要素を返します.[【詳解】(英語]
|
|
CV_INLINE void | cvmSet (CvMat *mat, int row, int col, double value) |
シングルチャンネルの浮動小数点型行列の,指定された要素を設定します.[【詳解】(英語]
|
|
CV_INLINE int | cvIplDepth (int type) |
CV_INLINE CvMatND | cvMatND () |
CV_INLINE CvRect | cvRect (int x, int y, int width, int height) |
CV_INLINE IplROI | cvRectToROI (CvRect rect, int coi) |
CV_INLINE CvRect | cvROIToRect (IplROI roi) |
CV_INLINE CvTermCriteria | cvTermCriteria (int type, int max_iter, double epsilon) |
CV_INLINE CvPoint | cvPoint (int x, int y) |
CV_INLINE CvPoint2D32f | cvPoint2D32f (double x, double y) |
CV_INLINE CvPoint2D32f | cvPointTo32f (CvPoint point) |
CV_INLINE CvPoint | cvPointFrom32f (CvPoint2D32f point) |
CV_INLINE CvPoint3D32f | cvPoint3D32f (double x, double y, double z) |
CV_INLINE CvPoint2D64f | cvPoint2D64f (double x, double y) |
CV_INLINE CvPoint3D64f | cvPoint3D64f (double x, double y, double z) |
CV_INLINE CvSize | cvSize (int width, int height) |
CV_INLINE CvSize2D32f | cvSize2D32f (double width, double height) |
CV_INLINE CvSlice | cvSlice (int start, int end) |
CV_INLINE CvScalar | cvScalar (double val0, double val1 CV_DEFAULT(0), double val2 CV_DEFAULT(0), double val3 CV_DEFAULT(0)) |
CV_INLINE CvScalar | cvRealScalar (double val0) |
CV_INLINE CvScalar | cvScalarAll (double val0123) |
変数 |
|
int | depth |
int int | channels |
CvSize | size |
int | coi |
CvRect | rect |
int | cols |
int int | type |
int | rows |
CvMat * | submat |
CvMat int | start_row |
CvMat int int | end_row |
CvMat int | start_col |
CvMat int int | end_col |
void * | data |
int CvScalar * | scalar |
const int * | sizes |
int | dims |
CvSparseMatIterator * | mat_iterator |
CvArr ** | arrs |
CvArr const CvArr * | mask |
CvArr const CvArr CvMatND * | stubs |
CvArr const CvArr CvMatND CvNArrayIterator * | array_iterator |
int | index |
int | idx0 |
int int | idx1 |
int int int | idx2 |
const int * | idx |
int CvScalar | value |
CvMat * | header |
IplImage * | image_header |
int | sizeof_header |
int CvArr int | new_cn |
int CvArr int int | new_dims |
int CvArr int int int * | new_sizes |
CvArr * | dst |
void int | step |
CvArr * | dst0 |
CvArr CvArr * | dst1 |
CvArr CvArr CvArr * | dst2 |
CvArr CvArr CvArr CvArr * | dst3 |
const CvArr * | src1 |
const CvArr const CvArr * | src2 |
const CvArr const CvArr const CvArr * | src3 |
int | src_count |
int CvArr int | dst_count |
int CvArr int const int * | from_to |
int CvArr int const int int | pair_count |
double | default_eps |
double int | default_max_iters |
CvScalar | scale |
double | alpha |
double const CvArr double | beta |
double const CvArr double double | gamma |
const CvArr * | lower |
const CvArr const CvArr * | upper |
const CvArr CvArr int | cmp_op |
const CvArr * | y |
const CvArr CvArr * | magnitude |
const CvArr * | angle |
const CvArr CvArr * | x |
CvArr double | power |
CvArr * | arr |
CvArr int | dist_type |
CvArr int CvScalar | param1 |
CvArr int CvScalar CvScalar | param2 |
CvRNG * | rng |
CvMat * | roots |
CvMat * | roots2 |
CvArr const CvMat * | transmat |
CvArr const CvMat * | mat |
CvArr int | order |
CvArr * | W |
const CvArr * | U |
const CvArr const CvArr * | V |
const CvArr const CvArr const CvArr * | B |
const CvArr const CvArr const CvArr CvArr * | X |
const CvArr const CvArr const CvArr CvArr int | flags |
CvArr * | evects |
CvArr CvArr * | evals |
double | start |
double double | end |
int | count |
int CvArr * | cov_mat |
int CvArr CvArr * | avg |
CvArr * | mean |
CvArr CvArr * | eigenvals |
CvArr CvArr CvArr * | eigenvects |
const CvArr const CvArr CvArr * | result |
const CvArr * | vec2 |
CvScalar CvScalar * | std_dev |
double * | min_val |
double double * | max_val |
const CvSeq * | seq |
CvMemStoragePos * | pos |
size_t | header_size |
size_t size_t | elem_size |
size_t size_t CvMemStorage * | storage |
int | delta_elems |
const void * | elements |
int | before_index |
const void * | element |
CvSeqWriter * | writer |
CvSeqReader * | reader |
int int void int | total |
int int void int CvSeq CvSeqBlock * | block |
CvSlice | slice |
int const CvArr * | from_arr |
CvCmpFunc | func |
const void * | elem |
const void CvCmpFunc int | is_sorted |
const void CvCmpFunc int int * | elem_idx |
CvMemStorage CvSeq ** | labels |
CvMemStorage CvSeq CvCmpFunc | is_equal |
CvMemStorage CvSeq CvCmpFunc void * | userdata |
int | direction |
int int | vtx_size |
int int int | edge_size |
CvGraphVtx * | vtx |
int | start_idx |
int int | end_idx |
CvGraphVtx * | start_vtx |
CvGraphVtx CvGraphVtx * | end_vtx |
int | vtx_idx |
CvArr const CvArr * | lut |
const void * | first |
const void int | max_level |
void * | parent |
void void * | frame |
int | cluster_count |
int CvArr CvTermCriteria | termcrit |
Cv_iplAllocateImageData | allocate_data |
Cv_iplAllocateImageData Cv_iplDeallocate | deallocate |
Cv_iplAllocateImageData Cv_iplDeallocate Cv_iplCreateROI | create_roi |
Cv_iplAllocateImageData Cv_iplDeallocate Cv_iplCreateROI Cv_iplCloneImage | clone_image |
const char * | func_name |
const char const char * | err_msg |
const char const char const char * | file_name |
const char const char const char int | line |
const char ** | description |
const char const char ** | filename |
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:
|
|
typedef struct CvGraphEdge | CvGraphEdge |
typedef struct CvGraphVtx | CvGraphVtx |
typedef struct CvGraphVtx2D | CvGraphVtx2D |
typedef struct CvGraph | CvGraph |
#define | CV_GRAPH_EDGE_FIELDS() |
#define | CV_GRAPH_VERTEX_FIELDS() |
#define | CV_GRAPH_FIELDS() |
#define | CV_TYPE_NAME_GRAPH "opencv-graph" |
Flags for 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 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 |
#define CV_ASSERT | ( | Condition | ) |
ランタイムアサーションマクロ
#define CV_CALL | ( | Func | ) |
CV_CALL マクロは,CV(またはIPL)関数を呼び出し,エラー状態をチェックし,関数が失敗した場合はエラーを通知します.親ノード」のエラー処理モードで有用です.
#define CV_CHECK | ( | ) |
CV_CHECK マクロは,CV(またはIPL)関数呼び出し後にエラー状態をチェックします.エラーが検出された場合,制御は終了ラベルに移されます.
#define CV_CONTOUR_FIELDS | ( | ) |
#define CV_COVAR_COLS 16 |
cvCalcCovarMatrix のフラグ,すべての入力ベクトルが1つの行列に,その列として格納されます.
#define CV_COVAR_NORMAL 1 |
cvCalcCovarMatrix のフラグ, [v1-avg, v2-avg,...] * transpose([v1-avg,v2-avg,...]) .
#define CV_COVAR_ROWS 8 |
cvCalcCovarMatrix のフラグ,すべての入力ベクトルがその行として1つの行列に格納されます.
#define CV_COVAR_SCALE 4 |
cvCalcCovarMatrix のフラグ,共分散行列の係数をベクトルの数でスケーリングします.
#define CV_COVAR_SCRAMBLED 0 |
cvCalcCovarMatrix のフラグ, transpose([v1-avg, v2-avg,...]) * [v1-avg,v2-avg,...] .
#define CV_COVAR_USE_AVG 2 |
cvCalcCovarMatrix のフラグ.平均(つまり,平均ベクトル)を計算せず,代わりに入力ベクトルを利用します(共分散行列を部分的に計算するのに便利です).
#define CV_DXT_MUL_CONJ 8 |
cvMulSpectrums の第2引数を共役にします.
#define CV_DXT_ROWS 4 |
各行を個別に変換します.
#define CV_DXT_SCALE 2 |
結果を配列のサイズで割ります.
#define CV_ERROR | ( | Code, | |
Msg | |||
) |
CV_ERROR マクロは,無条件に,渡されたコードとメッセージでエラーを発生させます.エラーを発生させた後,制御は終了ラベルに移されます.
#define CV_FUNCNAME | ( | Name | ) | static char cvFuncName[] = Name |
CV_FUNCNAME マクロは,CV_ERROR マクロで利用される icvFuncName 定数を定義します.
#define CV_GRAPH_EDGE_FIELDS | ( | ) |
#define CV_GRAPH_FIELDS | ( | ) |
グラフは,集合(これは頂点の集合)から「派生」し,別の集合(辺)を含みます.
#define CV_GRAPH_FLAG_ORIENTED (1 << CV_SEQ_FLAG_SHIFT) |
グラフのフラグ
#define CV_GRAPH_ITEM_VISITED_FLAG (1 << 30) |
グラフの頂点と辺のフラグ
#define CV_GRAPH_VERTEX_FIELDS | ( | ) |
#define CV_HIST_RANGES_FLAG (1 << 11) |
ビンの範囲が既に設定されているかどうかを示します.
#define CV_HIST_UNIFORM 1 |
これは,パラメータとしてのみ利用されるべきもので, hist->type の CV_HIST_UNIFORM_FLAG に変わります.
#define CV_IABS | ( | a | ) | (((a) ^ ((a) < 0 ? -1 : 0)) - ((a) < 0 ? -1 : 0)) |
ジャンプしない絶対値
#define CV_IMAGE_ELEM | ( | image, | |
elemtype, | |||
row, | |||
col | |||
) | (((elemtype*)((image)->imageData + (image)->widthStep*(row)))[(col)]) |
マルチチャンネル画像の場合は,(col)にチャンネル数を乗じた値を指定します.
#define CV_IMIN | ( | a, | |
b | |||
) | ((a) ^ (((a)^(b)) & (((a) < (b)) - 1))) |
ジャンプを伴わない最小値と最大値
#define CV_IS_HIST | ( | hist | ) |
#define CV_IS_MAT_HDR | ( | mat | ) |
#define CV_IS_MAT_HDR_Z | ( | mat | ) |
#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_POLYGON_TREE | ( | seq | ) |
#define CV_IS_SET_ELEM | ( | ptr | ) | (((CvSetElem*)(ptr))->flags >= 0) |
ptr が指す要素が集合に属しているかどうかをチェックします.
#define CV_IS_SPARSE_MAT_HDR | ( | mat | ) |
#define CV_IS_STORAGE | ( | storage | ) |
#define CV_KMEANS_USE_INITIAL_LABELS 1 |
この関数は,サンプルベクトルの配列を指定された数のクラスにクラスタリングする K-means アルゴリズムを実装しています.
#define CV_MAT_ELEM_PTR_FAST | ( | mat, | |
row, | |||
col, | |||
pix_size | |||
) |
#define CV_NEXT_GRAPH_EDGE | ( | edge, | |
vertex | |||
) |
与えられた頂点の次のグラフエッジを返す関数です.
#define CV_NEXT_SEQ_ELEM | ( | elem_size, | |
reader | |||
) |
リーダの位置を前方に移動します.
#define CV_PREV_SEQ_ELEM | ( | elem_size, | |
reader | |||
) |
リーダの位置を後方に移動させます.
#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_SEQ_CHAIN (CV_SEQ_KIND_CURVE | CV_SEQ_ELTYPE_CODE) |
チェーンコード化された曲線
#define CV_SEQ_CONNECTED_COMP (CV_SEQ_KIND_GENERIC | CV_SEQ_ELTYPE_CONNECTED_COMP) |
連結成分の順序
#define CV_SEQ_ELEM | ( | seq, | |
elem_type, | |||
index | |||
) |
#define CV_SEQ_ELTYPE_CODE CV_8UC1 |
フリーマンコード 0..7
#define CV_SEQ_ELTYPE_CONNECTED_COMP 0 |
連結成分
#define CV_SEQ_ELTYPE_GRAPH_EDGE 0 |
次の辺、次の辺_d、次の辺_o、次の辺_d
#define CV_SEQ_ELTYPE_GRAPH_VERTEX 0 |
第一エッジ, &(x,y)
#define CV_SEQ_ELTYPE_INDEX CV_32SC1 |
#(x,y)
#define CV_SEQ_ELTYPE_POINT CV_32SC2 |
(x,y)
#define CV_SEQ_ELTYPE_POINT3D CV_32FC3 |
(x,y,z)
#define CV_SEQ_ELTYPE_PPOINT CV_SEQ_ELTYPE_PTR |
&(x,y)
#define CV_SEQ_ELTYPE_TRIAN_ATR 0 |
二分木の頂点
#define CV_SEQ_FLAG_CLOSED (1 << CV_SEQ_FLAG_SHIFT) |
曲線のフラグ
#define CV_SEQ_INDEX (CV_SEQ_KIND_GENERIC | CV_SEQ_ELTYPE_INDEX) |
整数の列
#define CV_SEQ_KIND_GENERIC (0 << CV_SEQ_ELTYPE_BITS) |
配列の種類
#define CV_SEQ_KIND_GRAPH (1 << CV_SEQ_ELTYPE_BITS) |
疎な配列(セット)の種類
#define CV_SEQ_POINT_SET (CV_SEQ_KIND_GENERIC| CV_SEQ_ELTYPE_POINT) |
点の集合
#define CV_SEQ_POLYGON_TREE (CV_SEQ_KIND_BIN_TREE | CV_SEQ_ELTYPE_TRIAN_ATR) |
輪郭の二分木
#define CV_SEQ_READER_FIELDS | ( | ) |
前の要素へのポインタ
#define CV_SEQ_WRITER_FIELDS | ( | ) |
ブロックの終わりへのポインタ
#define CV_SEQUENCE_FIELDS | ( | ) |
読み書き可能なシーケンス。シーケンスには,動的に要素を挿入したり,削除したりすることができます.最初のシーケンスブロックへのポインタ。
#define CV_SET_ELEM_FIELDS | ( | elem_type | ) |
Set 順序は保持されません。シーケンスの要素間に隙間ができることがあります。要素が挿入された後は、常に同じ場所にあります。要素が存在する場合,第1フィールド(フラグ)のMSB(最上位ビットまたは符号ビット)は0です。
#define CV_SET_FIELDS | ( | ) |
#define CV_TREE_NODE_FIELDS | ( | node_type | ) |
2番目のシーケンス。
#define CV_TURN_ON_IPL_COMPATIBILITY | ( | ) |
#define CV_WRITE_SEQ_ELEM | ( | elem, | |
writer | |||
) |
#define CV_WRITE_SEQ_ELEM_VAR | ( | elem_ptr, | |
writer | |||
) |
シーケンスに要素を追加する。
#define cvGetGraphVtx | ( | graph, | |
idx | |||
) | (CvGraphVtx*)cvGetSetElem((CvSet*)(graph), (idx)) |
グラフの頂点を指定されたインデックスで検索する
#define cvGraphEdgeIdx | ( | graph, | |
edge | |||
) | ((edge)->flags & CV_SET_ELEM_IDX_MASK) |
グラフ辺のポインタを指定して,その辺のインデックスを検索する
#define cvGraphVtxIdx | ( | graph, | |
vtx | |||
) | ((vtx)->flags & CV_SET_ELEM_IDX_MASK) |
ポインタが与えられたグラフの頂点のインデックスを取得します.
#define cvMatMulAdd | ( | src1, | |
src2, | |||
src3, | |||
dst | |||
) | cvGEMM( (src1), (src2), 1., (src3), 1., (dst), 0 ) |
行列変換:dst = A*B + C, Cはオプション
#define cvReshapeND | ( | arr, | |
header, | |||
new_cn, | |||
new_dims, | |||
new_sizes | |||
) |
#define IPL2CV_DEPTH | ( | depth | ) |
#define IPL_BORDER_REFLECT_101 4 |
追加のボーダーモード
#define IPL_DEPTH_64F 64 |
IplImageの倍精度浮動小数点データを格納するための
#define OPENCV_ASSERT | ( | expr, | |
func, | |||
context | |||
) |
#define OPENCV_CALL | ( | Func | ) |
typedef void CvArr |
これは,関数のパラメータとして使われる「メタタイプのみを使用しています。関数のパラメータとして使用される「メタタイプ」です.
これは,この関数が IplImage* や CvMat*,場合によっては CvSeq* など,複数の型の配列を受け入れることを意味します.特定の配列型は,実行時にヘッダの最初の 4 バイトを解析することで決定されます.C++ のインターフェースでは,InputArray と OutputArray が CvArr の役割を果たします.
typedef int(CV_CDECL * CvCmpFunc) (const void *a, const void *b, void *userdata) |
a < b ? -1 : a > b ? 1 : 0
typedef struct CvLineIterator CvLineIterator |
行イテレータの状態.
行列の要素は,行ごとに格納されます.行列の要素 (i, j) (i - 0 ベースの行インデックス, j - 0 ベースの列インデックス) は,マクロ CV_MAT_ELEM を用いて取り出したり変更したりすることができます.
uchar pixval = CV_MAT_ELEM(grayimg, uchar, i, j) CV_MAT_ELEM(cameraMatrix, float, 0, 2) = image.width*0.5f;
複数チャンネルの行列にアクセスするには, CV_MAT_ELEM(matrix, type, i, j*nchannels + channel_idx) を利用します.
typedef struct CvNArrayIterator CvNArrayIterator |
matrix iterator: 密な配列に対する n-ary 演算に利用されます.
typedef struct CvTermCriteria CvTermCriteria |
IplImage は,Intel Image Processing Library からの引用で,そのフォーマットはネイティブです.OpenCV は,上記のパラメータリストに示された IplImage フォーマットのサブセットのみをサポートします.
上記の制限に加えて,OpenCVではROIの扱いが異なります.OpenCV の関数は,すべてのソース画像とデスティネーション画像の画像サイズまたは ROI サイズが正確に一致することを要求します.一方,インテル® 画像処理ライブラリでは,ソース画像とデスティネーション画像の間の交点の領域 (または ROI) を処理し,それらが独立して変化することを許容します.
anonymous enum |
列挙値 | |
---|---|
CV_StsOk |
何も問題ありません. |
CV_StsBackTrace |
バックトレースの疑似エラー. |
CV_StsError |
未知のエラー,不特定のエラー |
CV_StsInternal |
内部エラー(不良状態) |
CV_StsNoMem |
メモリ不足 |
CV_StsBadArg |
関数の引数/パラメータが不正 |
CV_StsBadFunc |
サポートされていない関数 |
CV_StsNoConv |
反復計算が収束しなかった |
CV_StsAutoTrace |
トレース |
CV_HeaderIsNull |
画像のヘッダが NULL |
CV_BadImageSize |
画像のサイズが不正 |
CV_BadOffset |
オフセットが無効です. |
CV_BadStep |
画像のステップが間違っています.これは,非連続な行列の場合に起こり得ます. |
CV_BadNumChannels |
チャンネル数の不正,例えば,いくつかの関数はシングルチャンネルの行列しか受け付けません. |
CV_BadDepth |
入力画像の深度が,この関数ではサポートされていません. |
CV_BadOrder |
次元の数が範囲外 |
CV_BadOrigin |
不正な入力原点. |
CV_BadAlign |
入力のアラインメントが不正 |
CV_BadCOI |
入力COIがサポートされていない |
CV_BadROISize |
不正なROIの入力 |
CV_StsNullPtr |
NULL ポインタ |
CV_StsVecLengthErr |
不正なベクトル長 |
CV_StsFilterStructContentErr |
フィルタ構造体の内容が不正 |
CV_StsKernelStructContentErr |
変換カーネルの内容が不正 |
CV_StsFilterOffsetErr |
不正なフィルタオフセット値 |
CV_StsBadSize |
入力/出力構造体のサイズが不正 |
CV_StsDivByZero |
ゼロによる分割 |
CV_StsInplaceNotSupported |
インプレイス操作がサポートされていない |
CV_StsObjectNotFound |
リクエストが完了しない |
CV_StsUnmatchedFormats |
入力配列と出力配列のフォーマットが異なる |
CV_StsBadFlag |
フラグが間違っているか,サポートされていない |
CV_StsBadPoint |
悪い点CvPoint |
CV_StsBadMask |
マスクの形式が不正(8uC1でも8sC1でもない)。 |
CV_StsUnmatchedSizes |
入出力構造体のサイズが一致しない |
CV_StsUnsupportedFormat |
データのフォーマット/タイプが,この関数でサポートされていない |
CV_StsOutOfRange |
パラメータの一部が範囲外 |
CV_StsParseError |
解析されたファイルの構文/構造が無効。 |
CV_StsNotImplemented |
要求された関数/機能が実装されていない |
CV_StsBadMemBlock |
割り当てられたブロックが破損している |
CV_StsAssert |
アサーションに失敗した |
CV_GpuNotSupported |
CUDA をサポートしていない |
CV_GpuApiCallError |
GPU API コールエラー |
CV_OpenGlNotSupported |
OpenGL がサポートされていない |
CV_OpenGlApiCallError |
OpenGL API の呼び出しエラー |
CV_OpenCLApiCallError |
OpenCL API 呼び出しエラー |
CV_OpenCLInitError |
OpenCL の初期化エラー. |
CVAPI | ( | const char * | ) |
コードを指定して,エラーの説明をテキストで取得します.
CVAPI | ( | void * | ) |
データをコピーすることなく,多次元配列の形状を変更します.
あるオブジェクトのクローンを作成します.
malloc
ラッパーを使用します。十分なメモリがない場合,この関数は(cvAlloc を呼び出す他の OpenCV 関数と同様に)エラーを発生させます.
この関数は,多次元配列も扱うことができ(通常の画像や行列も扱えますが),次元数を変更できる cvReshape の発展版です.
以下は,cvReshape の説明にある2つのサンプルを cvReshapeMatND を用いて書き直したものです.
C言語では,この関数のヘッダファイルには,sizeof_header パラメータを使わない便利なマクロ cvReshapeND が含まれています.そのため,例題の cvReshapeMatND の呼び出しを含む行は,以下のように置き換えることができます.
arr | 入力配列 |
sizeof_header | IplImage を区別するための,出力ヘッダのサイズ.CvMatおよびCvMatND出力ヘッダ |
header | 埋められる出力ヘッダ |
new_cn | 新しいチャンネル数.new_cn = 0 は,チャンネル数が変更されないことを意味します. |
new_dims | 新しい次元の数 new_dims = 0 は、次元の数が変わらないことを意味する。 |
new_sizes | 新しい次元のサイズの配列。要素の総数は同じでなければならないので、new_dims-1の値のみが使用される。したがって、new_dims = 1 の場合は、 new_sizes 配列は使用されません。 |
与えられた範囲の数値で行列を埋める
ストレージに,指定されたサイズの連続バッファを割り当てます.
シーケンスの内容を,メモリ上の連続した部分にコピーします.
この関数は,与えられたオブジェクトの型を見つけ,渡されたオブジェクトを用いて clone を呼び出します.もちろん, struct_ptr が CvMat* であるなど,オブジェクトの型が分かっている場合は, cvCloneMat のような特定の関数を呼び出した方が高速です.
struct_ptr | 複製されるオブジェクト. |
CVAPI | ( | CvErrorCallback | ) |
新しいエラー処理関数を割り当てます.
CVAPI | ( | CvGraph * | ) |
新しいグラフを作成します.
グラフのコピーを作成します.
CVAPI | ( | CvGraphEdge * | ) | const |
2つの頂点を結ぶ辺を見つけます.
CVAPI | ( | CvGraphScanner * | ) |
新しいグラフスキャナを作成します.
CVAPI | ( | CvMat * | ) |
行列ヘッダを作成しますが,行列データの割り当ては行いません.
src[i] から dst[i] へのマッピングのための透視変換行列を計算します( i=0,1,2,3 ).
rotation_matrix 行列を計算します.
データをコピーせずに,行列/画像の形状を変更します.
任意の配列に対する行列のヘッダを返します.
配列の対角線のいずれかを返します。
配列の列のうちの 1 つを返します。
配列の行または行間を返します。
RSM関数: 入力画像または行列の,矩形の部分配列に対応する行列ヘッダを返します。
行列のヘッダを作成し,行列データを確保します.
あらかじめ割り当てられた行列ヘッダを初期化します。
この関数は,新しい行列ヘッダを確保し,そのポインタを返します.その後の行列データは, cvCreateData を用いて割り当てたり, cvSetData を用いてユーザが割り当てたデータを明示的にセットしたりすることができます.
rows | 行列の行数 |
cols | 行列の列数. |
type | 行列の要素の種類, cvCreateMat を参照してください. |
この関数は,生データを OpenCV の行列関数で処理するためによく利用されます.例えば,以下のコードでは,通常の配列として格納されている 2 つの行列の行列積を計算します.
mat | 初期化される行列ヘッダへのポインタ. |
rows | 行列の行数 |
cols | 行列の列数. |
type | 行列の要素の種類, cvCreateMat を参照してください. |
data | オプション:行列のヘッダに割り当てられるデータポインタ. |
step | オプション:割り当てられたデータの行の幅(バイト).デフォルトでは,行列の後続の行の間に隙間がないことを仮定した,可能な限り小さいステップが利用されます. |
この関数の呼び出しは,以下のコードに相当します.
rows | 行列の行数 |
cols | 行列の列数. |
type | CV_<ビット深度><S|U|F>C<チャンネル数> の形式で表される行列要素の型,ここで S=signed, U=unsigned, F=float. 例えば,CV _ 8UC1 は,要素が8ビット符号なしで1つのチャンネルを持つことを意味し,CV _ 32SC2 は,要素が32ビット符号ありで2つのチャンネルを持つことを意味します. |
入力行列の正確なコピーを作成します(ただし,ステップ値を除く).
この関数は,入力配列の指定された矩形領域に対応するヘッダを返します.言い換えると
言い換えれば,ユーザが入力配列の矩形部分を独立した配列として扱うことを可能にします.この関数では,ROI が考慮されており,実際に ROI の部分配列が抽出されます.
arr | 入力配列 |
submat | 結果として得られる部分配列のヘッダへのポインタ |
rect | 注目する矩形領域のゼロベースの座標 |
この関数は,入力配列の指定された行/行範囲に対応するヘッダを返します. cvGetRow(arr, submat, row) は, cvGetRows(arr, submat, row, row+1) のショートカットです.
arr | 入力配列 |
submat | 結果として得られる部分配列のヘッダへのポインタ. |
start_row | スパンの開始行(含む)を表す,ゼロベースのインデックス. |
end_row | 範囲の最後の行を表す,0ベースのインデックス(排他的). |
delta_row | 行スパンのインデックスステップ。つまり,この関数は, start_row から end_row まで(ただし,これを含まない)の delta_row - 番目の行をすべて抽出します. |
この関数は,入力配列の指定された列スパンに対応するヘッダを返します.つまり
つまり,データはコピーされません。したがって,部分行列を変更しても,元の配列に影響を与えます.列をコピーする必要がある場合は, cvCloneMat を利用してください. cvGetCol(arr, submat, col) は, cvGetCols(arr, submat, col, col+1) のショートカットです.
arr | 入力配列 |
submat | 結果として得られる部分配列のヘッダへのポインタ. |
start_col | スパンの始点となる列(含む)の,ゼロベースのインデックス. |
end_col | スパンの終了列(排他的)を表す,ゼロベースのインデックス. |
この関数は,入力配列の指定された対角線に対応するヘッダを返します.
arr | 入力配列 |
submat | 結果として得られる部分配列のヘッダへのポインタ. |
diag | 配列の対角線のインデックス。0 は主対角線,-1 は主対角線の上の対角線,1 は主対角線の下の対角線,というように対応します。 |
この関数は,入力配列に対する行列ヘッダを返します.CvMatや,画像 - IplImage,あるいは多次元の密な配列 -CvMatND(です(3番目のオプションは, allowND != 0 の場合にのみ許されます).matrix の場合,この関数は単に入力ポインタを返します.IplImage* やCvMatNDの場合,この関数は,現在の画像ROIのパラメータでヘッダ構造体を初期化し, &header を返します.では COI がサポートされていないのでCvMatでは COI がサポートされていないので,それは別途返されます.
この関数は,IplImage* と IplImage* の両方の配列を,同じコードで簡単に扱うことができます.CvMatの2種類の配列を,同じコードで簡単に扱う方法を提供します.入力配列は,非0のデータポインタを持たなければならず,そうでない場合はエラーになります.
arr | 入力配列 |
header | へのポインタはCvMat一時的なバッファとして利用される構造体へのポインタ. |
coi | COIを保存するための,オプションの出力パラメータ. |
allowND | 0ではない場合,この関数は多次元の密な配列(CvMatND*)を受け入れ,2次元の行列(2次元の場合),あるいは1次元の行列を返します.CvMatND2次元の場合),あるいは1次元の場合(1次元,あるいは2次元以上の場合)には,2次元の行列を返します.CvMatNDが1次元または2次元以上の場合)を返します.配列は,連続していなければいけません.CvMatND配列は連続していなければいけません. |
この関数は,ヘッダを初期化します.CvMatこの関数は,ヘッダを初期化し,元の配列と同じデータを指しますが,チャンネル数や行数,あるいはその両方が異なる形状になるようにします.
次のコード例では,1 つの画像バッファと 2 つの画像ヘッダを作成しています.1 つ目は 320x240x3 の画像用,2 つ目は 960x240x1 の画像用です.
また、次の例では、3x3の行列を1x9の単一ベクトルに変換しています。
arr | 入力配列 |
header | 埋められる出力ヘッダ |
new_cn | 新しいチャンネル数です。new_cn = 0」は、チャンネル数が変更されないことを意味します。 |
new_rows | 新しい行の数。new_rows = 0」は、new_cn の値に応じて変更する必要がない限り、行数が変更されないことを意味します。 |
CVAPI | ( | CvMatND * | ) |
新しい行列ヘッダを作成しますが,行列データの割り当ては行いません.
あらかじめ割り当てられた多次元配列のヘッダを初期化します.
多次元の密な配列のヘッダを作成し,データを割り当てます。
この関数は,多次元密な配列のヘッダを割り当てます.配列のデータは, cvCreateData を用いて割り当てることも, cvSetData を用いてユーザが割り当てたデータを明示的にセットすることもできます.
dims | 配列の次元数 |
sizes | 配列の次元数 |
type | 配列の要素の種類, cvCreateMat を参照してください. |
この関数の呼び出しは,以下のコードに相当します.
dims | 配列の次元数.これは, CV_MAX_DIM (デフォルトでは 32 ですが,ビルド時に変更可能です)を超えてはいけません. |
sizes | 各次元のサイズを表す配列. |
type | 配列の要素の種類, cvCreateMat を参照してください. |
mat | 初期化される配列ヘッダへのポインタ. |
dims | 配列の次元数. |
sizes | 各次元のサイズを表す配列. |
type | 配列の要素の種類, cvCreateMat を参照してください. |
data | オプションで,行列のヘッダに割り当てられるデータポインタ. |
のコピーを作成します.CvMatND(のコピーを作成します(ただし,ステップを除く).
CVAPI | ( | CvMemStorage * | ) |
新しいメモリストレージを作成します. block_size == 0 は,デフォルトの,ある程度最適なサイズが使われることを意味します(現在は 64K です).
親ストレージからメモリブロックを借用するメモリストレージを作成します.
CVAPI | ( | CvRect | ) | const |
画像の ROI を返します.
与えられた2つの矩形を含む最小の矩形を見つけます.
ROI が設定されていない場合は, cvRect(0,0,image->width,image->height) が返されます.
image | 画像ヘッダへのポインタ. |
CVAPI | ( | CvScalar | ) | const |
特定の配列要素を返します.
この関数は,指定された配列要素を返します.疎な配列の場合,要求されたノードが存在しなければ,関数は 0 を返します(この関数によって新しいノードが作成されることはありません).
arr | 入力配列 |
idx0 | 要素のインデックスの最初のゼロベースの成分 |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
arr | 入力配列 |
idx | 要素を表すインデックスの配列. |
行列のトレース(主対角線上の要素の和)を求めます.
配列要素の和を求めます.
配列要素の平均値を求めます.
CVAPI | ( | CvSeq * | ) |
輪郭スキャナを解放し,最初の外郭へのポインタを返します.
画像中の円を見つける
いくつかの方法のうちの1つを使って,2値画像上の線を見つけます.
点の行列(列または行のベクトル)に対するシーケンスヘッダを初期化する
輪郭の凸状欠損を見つける
2次元点集合の正確な凸包を計算する
単一の多角形曲線(輪郭)または多角形曲線(輪郭)の木を近似する
フリーマンチェーンを多角形曲線で近似する
メモリストレージへの文字列の割り当て 指定されたストレージに常駐する新しい空のシーケンスを作成する
シーケンスライタを閉じ,シーケンスヘッダを更新し,結果として得られるシーケンスへのポインタを返します(これは,シーケンスが cvStartWriteSeq) を用いて作成されたものである場合に役立ちます).
配列に対するシーケンスヘッダを作成します.これ以降は,内容を変更しないシーケンスに対するすべての操作が,結果としてのシーケンスに適用されます.
シーケンススライスを抽出します(シーケンス要素をコピーしてもしなくても構いません).
からアクセスできる,すべてのシーケンスへのポインタを収集します.first
単一のシーケンスへのポインタ
これは,独立した輪郭近似ルーチンであり,新しいインタフェースでは表現されません.cvFindContours が Freeman チェーンとして輪郭を取得した場合,この関数を呼び出して,多角形で表現された近似輪郭を取得します.
src_seq | 他のチェーンを参照できる,近似的なフリーマンチェーンへのポインタ. |
storage | 結果として得られるポリラインの格納場所。 |
method | 近似手法(関数 :ocvFindContours の説明を参照してください). |
parameter | メソッドのパラメータ(現在は使用されていません). |
minimal_perimeter | 周囲の長さが minimal_perimeter 以上の輪郭のみを近似します.その他の鎖は,結果として得られる構造体から削除されます. |
recursive | 再帰フラグ.これが0ではない場合,この関数は, chain から h_next または v_next リンクを利用して得られるすべてのチェーンを近似します.そうでない場合は,1つの入力チェーンを近似します. |
cvMakeSeqHeaderForArray のラッパー(これは, bounding rectangle を初期化しません!!!).
line_storage は,メモリストレージまたは 1 x最大行数 CvMatmethod は CV_HOUGH_* のうちの1つで,rho, theta, threshold がそれぞれの方法で利用されます. param1 ~ line length, param2 ~ line gap - 確率的な場合,param1 ~ srn, param2 ~ stn - マルチスケールの場合.
CVAPI | ( | CvSet * | ) |
新しい集合を作成します.
CVAPI | ( | CvSize | ) | const |
行列あるいは画像ROIのサイズを返します.
この関数は,入力行列または画像の行数(CvSize::height)と列数(CvSize::width)を返します.また,画像の場合は,ROIのサイズが返されます.
arr | 配列のヘッダ |
CVAPI | ( | CvSparseMat * | ) |
疎な配列を作成します.
この関数は,多次元の疎な配列を確保します.つまり,PtrND やその他の関連関数は,各インデックスに対して 0 を返します.
dims | 配列の次元数.密な行列とは対照的に,配列の次元数は実質的に無制限です(最大で 1,000 まで).![]() |
sizes | 配列の次元数 |
type | 配列の要素の種類。の場合と同じです。CvMat |
のコピーを作成します.CvSparseMat(ただし,0 個の場合もあります)。
CVAPI | ( | CvSparseNode * | ) | const |
疎な配列要素のイテレータを初期化します.
この関数は,疎な配列要素のイテレータを初期化し,最初の要素へのポインタを返します.また,配列が空の場合は NULL を返します.
mat | 入力配列 |
mat_iterator | 初期化されたイテレータ |
CVAPI | ( | CvTermCriteria | ) |
終了条件の有効性をチェックし, eps には default_eps (設定されていない場合)を, max_iter には default_max_iters (設定されていない場合)をセットします.
CVAPI | ( | double | ) | const |
シングルチャンネルの 1D, 2D, 3D または nD 配列の,指定された要素を返します.
グレースケール画像に対して,固定レベルの閾値を適用します.
点が多角形の内側にあるか,外側にあるか,端にあるか(頂点にあるか)をチェックします.
2つの輪郭のモーメントを一致させて比較する機能
輪郭または輪郭セグメントの面積を計算する
輪郭の周囲、または輪郭の一部の長さを計算する
正規化された中心モーメントを取得する
中心モーメントを取得する
2つの配列のユークリッド基準のドットプロダクトを計算します。
シングルチャンネル配列の指定された要素を返します。配列が複数のチャンネルを持つ場合は、ランタイムエラーが発生します。なお, Get?D 関数は,シングルチャンネル配列とマルチチャンネル配列の両方に対して安全に利用できますが,処理速度は若干遅くなります.
疎な配列の場合,要求されたノードが存在しなければ,この関数は 0 を返します(この関数によって新しいノードが生成されることはありません).
arr | 入力配列.1つのチャンネルでなければいけません。 |
idx0 | 要素のインデックスの最初のゼロベースの成分 |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
arr | 入力配列.1つのチャンネルでなければいけません。 |
idx | 要素を表すインデックスの配列. |
この関数は,2つの配列のユークリッド内積を計算して返します.
複数のチャンネルを持つ配列の場合は,すべてのチャンネルの結果が累積されます.具体的には, cvDotProduct(a,a) (a は複素数のベクトル)は,次のように返されます. この関数は,多次元配列を行ごと,層ごとなどに処理することができます.
src1 | 最初の入力配列 |
src2 | 2 番目の入力配列 |
行列を反転させます.
入力行列の行列式を求めます.
マハラノビス(加重)距離を求めます.
配列(あるいは,2 つの配列)のノルム,差動ノルム,相対差動ノルムを求めます.
それぞれ、正、負、ゼロを返す。オプションで、点と最も近いポリゴンエッジとの符号付き距離を測定します (measure_dist=1)
2つのヒストグラムを比較する
これは,輪郭を取得する前に行われる基本的な操作です.
CVAPI | ( | float | ) |
高速アークタンジェント計算
立方根の高速計算
CVAPI | ( | int | ) | const |
注目しているチャンネルのインデックスを返す
フレームをビデオファイルに書き込む
キャプチャラーの種類を返す(例: ::CV_CAP_VFW, ::CV_CAP_UNICAP).
キャプチャーのプロパティを設定します.
与えられた楕円を構成するポリゴンポイントを返します.
線分のイテレータを初期化します.
*pt1 と *pt2 を結ぶ線分を,矩形の窓で切り取ります.
輪郭が凸かどうかをチェックします(凸なら1、非凸なら0を返します)。
点の集合を囲む最小の円を検索します。
黒色(0)の背景に白色(0ではない)の連結成分がある場合,その外側と内側の境界を取得する(オプション)。
指定された次元の配列サイズを返します。
配列の次元数を返します。
配列の要素の型を返します。
IplImage に含まれる注目チャンネルを返します。返される値は, cvSetImageCOI の coi に対応します.
image | 画像ヘッダへのポインタ. |
複数の配列を同時に走査するイテレータを初期化します(この関数は, cvNextArraySlice と共に N-ari 要素単位の演算に利用されます).
反復処理が終了した場合は0を返し,そうでない場合は0以外の値(スライス長)を返します.
この関数は,配列の要素の型を返します.IplImage の場合,その型は CvMat のような表現に変換されます.例えば,画像が以下のように作成されている場合,その型は CvMat のような表現に変換されます.
コード cvGetElemType(img) は, CV_8UC3 を返します.
arr | 入力配列 |
この関数は,配列の次元数と,次元数の配列を返します.IplImage やCvMatの場合は,画像や行列の行数に関わらず,常に 2 を返します.例えば,以下のコードは,配列の総要素数を計算します.
arr | 入力配列 |
sizes | 配列の各次元のサイズを表す,オプションの出力ベクトル.2 次元配列の場合,行数(高さ)が最初に,列数(幅)が次になります. |
arr | 入力配列 |
index | ゼロベースの次元インデックス(行列の場合,0 は行数,1 は列数,画像の場合,0 は高さ,1 は幅を意味します). |
配列の値に NaN や Inf が含まれていないか,あるいは( CV_CHECK_RANGE が設定されている場合)単に数値が大きすぎないかをチェックします.CV_CHECK_QUIET がセットされている場合,ランタイムエラーは発生しません(「悪い」値の場合は,0を返します).そうでない場合は, cvError が呼ばれます.
三次方程式の実根を求める
連立方程式 (src1)*(dst) = (src2) を解きます( src1 が特異点であり, CV_LU メソッドが用いられる場合は 0 を返します).
0ではないピクセルの数を計算します
最適な DFT ベクトルサイズ >= size0 を見つけます.
シーケンススライスの長さを求めます(負のインデックスをサポートします).
指定されたシーケンス要素のインデックスを求めます.要素がシーケンスに属していない場合は -1 を返します。
現在のシーケンスリーダーの位置(現在観測されているシーケンス要素)を返します。
指定された基準を使って,シーケンスを1つ以上の同等クラスに分割する
新しい要素をセットに追加し,そのポインタを返す
グラフに新しい頂点を追加する
頂点をグラフから削除し,それに付随するすべての辺を削除する
添字またはポインタで指定された2つの頂点が接続されていない場合に,それらの頂点を接続する既存の辺へのポインタを返します.関数は,新しい辺が作成された場合は1を,そうでない場合は0を返します.
頂点に付随する辺の数を数える
次のグラフ要素を取得
IPPやMKLなどから最適化された関数をロードしたり,純粋なCコードに戻したりします.
OpenMP実装で使用されるスレッド数の取得/設定
実行中のスレッドのインデックスを取得
現在のOpenCVのエラー状態を取得
現在のエラー処理モードの取得
エラー処理モードを設定し,前回使用したモードを返す
最後に発生したエラーに関する詳細情報の取得
IPPのエラーコードを,OpenCVの対応するコードにマッピングします.
何も出力しない
コンソールに出力(fprintf(stderr,...))
MessageBox(WIN32) に出力します.
(0<=x<img_size.width, 0<=y<img_size.height).
初期状態では, line_iterator->ptr は,画像中の pt1(または pt2,left_to_right の説明を参照してください)の位置を指します.終点から終点までの直線上のピクセル数を返します。
楕円は,「軸」の大きさの箱を「中心」を中心に「角度」だけ回転させたものです.arc_start と arc_end にそれぞれ 0 と 360 以外の値を指定することで、楕円の円弧の部分的な掃引を行うことができます。入力配列 'pts' は、結果を格納できるだけの大きさが必要です。pts' に格納されたポイントの総数がこの関数によって返される。
これは, ::CV_CAP_ANY で作成された場合は不明です.
CVAPI | ( | int64 | ) |
RNGの初期化と正確な時間計測のためのヘルパー関数:x86では,内部クロックカウンタを利用します.
CVAPI | ( | IplImage * | ) |
画像ヘッダを作成しますが,画像データの割り当ては行いません.
cvGrabFrame と cvRetrieveFrame の組み合わせに過ぎません.
任意の配列に対する画像ヘッダを返します.
画像ヘッダを作成し,画像データを確保します.
事前に確保された画像ヘッダを初期化します.
size | 画像の幅と高さ |
depth | 画像の深度( cvCreateImage を参照してください). |
channels | チャンネル数( cvCreateImage を参照してください). |
戻り値の IplImage* は,初期化されたヘッダを指します.
image | 初期化される画像ヘッダ |
size | 画像の幅と高さ |
depth | 画像の深度( cvCreateImage を参照してください). |
channels | チャンネル数( cvCreateImage を参照してください). |
origin | 左上の IPL_ORIGIN_TL または,左下の IPL_ORIGIN_BL. |
align | 画像行のアライメント,通常は4バイトまたは8バイト |
この関数の呼び出しは,以下のコードに相当します.
size | 画像の幅と高さ |
depth | 画像要素のビット深度.有効なビット深度については,IplImageを参照してください。 |
channels | ピクセルあたりのチャンネル数.詳細は,IplImageを参照してください.この関数は,インターリーブされたチャンネルを持つ画像のみを作成します。 |
IPL画像のコピーを作成します(widthStepは異なる場合があります).
この関数は,入力配列の画像ヘッダを返します.この画像ヘッダは,行列(CvMat) または画像 (IPLImage) です.画像の場合,この関数は単に入力ポインタを返します.IplImage の場合はCvMatの場合は, image_header 構造体を入力行列のパラメータで初期化します.IplImage を次のように変換することに注意してくださいCvMatに変換し,次にCvMatIplImage を cvGetMat を用いて変換した後,この関数を用いて IplImage に戻すと,元の画像に ROI が設定されている場合には,異なるヘッダが得られることに注意してください.
arr | 入力配列 |
image_header | 一時的なバッファとして利用される IplImage 構造体へのポインタ. |
CVAPI | ( | schar * | ) |
シーケンスの最後に新しい要素を追加します。要素へのポインタを返します。
新しい要素をシーケンスの先頭に追加します。要素へのポインタを返します。
シーケンスの途中に新しい要素を挿入します. cvSeqInsert(seq,0,elem) == cvSeqPushFront(seq,elem)
指定されたシーケンス要素へのポインタを取得します.負のインデックスがサポートされており,これは最後から数えた場合を意味します(例えば,-1 はシーケンスの最後の要素を意味します).
ソートされた] シーケンスの要素を検索します。
CVAPI | ( | uchar * | ) | const |
特定の配列要素へのポインタを返します。
この関数は,特定の配列要素へのポインタを返します.配列の次元数は,この関数に渡されるインデックスの数と一致しなければいけません.ただし,関数 cvPtr1D は,1次元,2次元,n次元の密な配列へのシーケンシャルアクセスに利用できます.
この関数は,疎な配列にも利用できます.要求されたノードが存在しない場合は,ノードを作成してそれを 0 にします.
これらの関数や,配列の要素にアクセスする他の関数( cvGetND , cvGetRealND , cvSet , cvSetND , cvSetRealND )は,要素のインデックスが範囲外である場合にエラーになります.
arr | 入力配列 |
idx0 | 要素のインデックスの最初のゼロベースの成分 |
type | オプションの出力パラメータ:行列の要素の種類. |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
arr | 入力配列 |
idx | 要素を表すインデックスの配列. |
type | オプションの出力パラメータ:行列の要素の種類. |
create_node | 疎な行列に対するオプションの入力パラメータ.このパラメータの値が0ではない場合,要求された要素がまだ存在していない場合に,その要素が作成されます. |
precalc_hashval | 疎な行列のオプション入力パラメータ.このポインタがNULLではない場合,この関数はノードのハッシュ値を再計算せずに,指定された場所から取得します.これは,ペアワイズ処理を高速化するのに役立ちます(TODO: 例を示します). |
CVAPI | ( | void | ) |
画像ヘッダを解放します。
キャプチャ/読み込みの停止とリソースの解放
ビデオファイルライターを閉じる
輪郭線や塗りつぶした内部を画像上に描画する
テキストストロークのバウンディングボックスを計算する(位置合わせに便利)
指定された位置に,指定されたフォントと色のテキストストロークを描画します.CvFontcvInitFont で初期化されなければいけません.
フォント構造を初期化します(OpenCV 1.x API).
1つあるいは複数の多角形の曲線を描画します.
1つまたは複数の任意の多角形で囲まれた領域を塗りつぶします.
凸状または単調な多角形を埋めます.
楕円のアウトライン、塗りつぶし楕円、楕円弧、塗りつぶし楕円セクタの描画
中心と半径を指定して円を描画する機能
引数で指定された矩形を描画します。CvRect構造体
矩形の対向する2つの角(pt1 & pt2)を指定して矩形を描画します。
2 つの点を結ぶ 4 連結、8 連結、またはアンチエイリアスされた線分を描画する
線分を2次元または3次元の点の集合にロバストにフィットさせる(M-estimator technique)。
選択された領域内で,追跡しやすそうな点の疎なセットを見つける
ある種の勾配検索を用いて,コーナーの位置を調整する
ハリス・コーナー検出器。
すべての画像ピクセルにおいて,2x2 勾配共分散行列の最小固有値を計算する
各画像ピクセルにおいて,2x2 勾配共役行列の固有値とベクトルを計算します.
コーナー検出のための制約画像を計算します.
カニーエッジ検出器の実行
色差が十分に大きくなるまで,連結成分を埋めていく
グレースケール画像に適応型閾値を適用する
2値画像に距離変換を適用する
8ビットシングルチャンネル画像のヒストグラムを等化する
あるヒストグラムを別のヒストグラムで割る
ヒストグラムを比較して,画像内のテンプレートを特定する
バックプロジェクトを計算する
配列のヒストグラムを計算する
ベイジアン確率的ヒストグラムを計算します(src と dst はそれぞれ,次のような配列です).数ヒストグラム
ヒストグラムをコピーします.
ヒストグラムをしきい値化します.
ヒストグラムを正規化します.
ヒストグラムの最小ビンと最大ビンを求めます。
ヒストグラムをクリアする。
ヒストグラムを解除する。
ヒストグラムのビンの境界線を設定します。
ボックスの頂点の座標を求めます.
フリーマンチェーンリーダーを初期化します.
最後に取得した輪郭を,新しい輪郭に置き換えます.
テンプレートとソース画像のオーバーラップしたウィンドウとの類似性を測定し,その測定値を結果画像に反映させます.
入力配列から四角形を取り出します.
入力配列から,指定された中心を持つ矩形の画像領域を検索します.
事前に計算された空間モーメントと中心モーメントから7つのHuの不変量を計算します。
3次までのすべての空間・中心モーメントを計算する
複雑なモルフォロジー変換を行う
入力画像を1回または複数回拡張する(最大フィルタをかける
入力画像を1回または複数回,消去します(最小フィルタを適用).element pointerがNULLの場合,3x3の長方形の要素が使用される
構造化要素を解放する
log-polar 画像の順変換または逆変換を行う
cvRemap 用に,mapx と mapy を浮動小数点型から整数型に変換します.
指定された座標マップを用いて,汎用的な幾何学変換を行います.
遠近法(射影法)で画像を変換する
アフィン変換を用いて画像を変換します.
画像をリサイズします(入力配列を出力配列に合わせてリサイズします).
入力配列のピクセルを,ある色空間から別の色空間に変換する
画像のラプラシアンを計算します。(d2/dx + d2/dy)I
一般化されたSobelを用いて,画像の微分を計算する
種となるマーカーを使って画像を分割
平均値シフトアルゴリズムによる画像のフィルタリング
ピラミッドをリリース
画像をアップサンプリングし、その結果をガウスカーネルで平滑化します。
入力画像をガウシアンカーネルで平滑化した後、ダウンサンプリングを行う
積分画像を求める。SUM(X,Y) = sum(x<X,y<Y)I(x,y)
画像をカーネルで畳み込みます.
画像をいくつかの方法で平滑化します。
画像を重みをつけてアキュムレータに追加します: acc = acc*(1-alpha) + image*alpha
2つの画像の積をアキュムレータに加える
二乗画像をアキュムレータに追加します。
オブジェクトを解放します.
OpenCVが,IplImageとIplROI構造体を確保するために,IPL関数を利用するようにします.
2つの3次元ベクトルの外積を計算します.
配列を乱数で埋め,RNG の状態を更新します.
オプションの線形変換により,ある配列を別の配列に変換します.
配列をクリアします。
配列の各要素を指定した値に設定します。
ある配列を別の配列にコピーします。
配列に関する低レベルの情報を取得します。
配列のヘッダにユーザデータを割り当てます。
配列データを解放します。
配列データを割り当てます。
特定の配列要素を変更します。
特定の配列要素を変更します。
疎な配列を削除します。
行列を解放します。
画像全体を含むように画像の ROI をリセットし,ROI 構造体を解放します.
ROI 構造体を解除します。
IplImageの注目チャンネルを設定します.
イメージ・ヘッダとイメージ・データを解放します.
free
ラッパーを使用します.ここに限らず,すべてのメモリ解放関数(すべて cvFree を呼び出します)は,データを解放した後にそのデータへのポインタをクリアするために,ダブルポインタを受け取ります.ポインタを NULL ポインタに渡しても構いませんが,この場合は何も起こりません.
この呼び出しは, .NET の類似物です.
のアナログですが,デフォルトではIPL関数を利用しません(マクロ CV_TURN_ON_IPL_COMPATIBILITY を参照してください).
image | 画像ヘッダへのダブルポインタ |
この呼び出しは, .の短縮形です.
image | 画像ヘッダへのダブルポインタ |
ROI が NULL に設定されており,coi がはあまり成功しません。0の場合,ROIが確保されます.ほとんどの OpenCV の関数は COI の設定をサポートしません* ので,個々の画像/行列のチャンネルを処理する場合は,( cvCopy や cvSplit によって)チャンネルを別の画像/行列にコピーして処理し,必要ならばその結果を( cvCopy や cvMerge によって)再びコピーします.
image | 画像ヘッダへのポインタ. |
coi | 対象となるチャンネル.0 - すべてのチャンネルが選択される,1 - 最初のチャンネルが選択される,など.チャンネルのインデックスは,1ベースになることに注意してください. |
元の画像の ROI が NULL で,rect が画像全体ではない場合,ROI 構造体が割り当てられます.
ほとんどの OpenCV の関数は ROI の利用をサポートしており,画像の矩形領域を別の画像として扱います.例えば,すべてのピクセル座標は,元の画像ではなく ROI の左上(または左下)からカウントされます.
image | 画像ヘッダへのポインタ. |
rect | ROIの矩形領域 |
これは,以下と同様の結果をもたらしますが,加えて ROI 構造体を解放します. :
image | 画像ヘッダへのポインタ. |
この関数は,行列データ参照カウンタをデクリメントし,行列ヘッダを解放します.データ参照カウンタが 0 の場合は,データの割り当ても解除されます.
mat | 行列へのダブルポインタ. |
低レベルなスカラ <-> 生データ変換関数
この関数は,終了時に,疎な配列を解放し,配列ポインタをクリアします.
mat | 配列へのダブルポインタ。 |
この関数は,新しい値を特定の配列要素に割り当てます.疎な配列の場合,まだノードが存在していなければ,この関数がノードを生成します.
arr | 入力配列 |
idx0 | 要素のインデックスの最初のゼロベースの成分 |
value | 割り当てられた値 |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
arr | 入力配列 |
idx | 要素を表すインデックスの配列. |
value | 割り当てられた値 |
この関数は,シングルチャンネル配列の特定の要素に新しい値を割り当てます.配列がマルチチャンネルの場合は,ランタイムエラーが発生します.なお,Set*D 関数は,シングルチャンネル配列とマルチチャンネル配列のどちらに対しても安全に使えますが,多少速度が遅くなります.
疎な配列の場合,まだノードが存在していなければ,この関数がノードを生成します.
arr | 入力配列 |
idx0 | 要素のインデックスの最初のゼロベースの成分 |
value | 割り当てられた値 |
疎な配列の場合は,指定されたノードが削除され,ND の密な配列の要素がクリアされます.
2次元の入力配列を,水平方向と垂直方向に複数回繰り返して,出力配列を埋めます.
この関数は,画像,行列,または多次元の密な配列データを確保します.行列型の場合は,OpenCV の割り当て関数が利用されることに注意してください.IplImage の場合は,事前に CV_TURN_ON_IPL_COMPATIBILITY() が呼ばれていなければ,IPL の関数が利用されます.後者の場合,データの割り当てにはIPLの関数が利用されます.
arr | 配列のヘッダ |
この関数は,配列データを解放します.の場合は,単にCvMatまたはCvMatNDの場合は,単にcvDecRefData()を呼び出すだけです.つまり,この関数は外部データを解放することはできません.cvCreateData の注意事項も参照してください.
arr | 配列のヘッダ |
この関数は,ユーザデータを配列のヘッダに割り当てます.cvCreateMatHeader, cvCreateImageHeader, cvCreateMatNDHeader, cvInitMatHeader, cvInitImageHeader, cvInitMatNDHeader を利用する前に,ヘッダを初期化する必要があります.
arr | 配列のヘッダ |
data | ユーザデータ |
step | 行の長さ(バイト). |
この関数は,出力変数に配列データに関する低レベルの情報を書き込みます.すべての出力
すべての出力パラメータはオプションであり,ポインタの一部は NULL に設定されます.配列が ROI を設定した IplImage である場合,ROI のパラメータが返されます.
以下の例では,配列の要素にアクセスする方法を示しています.配列の要素の絶対値を計算します.
arr | 配列のヘッダ |
data | イメージ全体の原点へのポインタ,または ROI が設定されている場合は ROI 原点へのポインタを出力します. |
step | 出力 全行の長さ(バイト単位 |
roi_size | 出力される ROI サイズ |
この関数は,入力配列から選択された要素を出力配列にコピーします.
渡された配列のいずれかが IplImage 型であれば,その ROI と COI フィールドが利用されます.両配列は,同じ型,同じ次元数,同じサイズでなければいけません.この関数は,疎な配列をコピーすることもできます(この場合,マスクはサポートされません).
src | コピー元の配列 |
dst | コピー先の配列 |
mask | 8ビットシングルチャンネル配列のオペレーションマスク:変更される出力配列の要素を指定します。 |
この関数は,スカラ値をコピー先配列の選択された各要素にコピーします.
配列 arr が IplImage 型である場合,ROI が利用されますが,COI は設定してはいけません.
arr | コピー先の配列 |
value | 値を埋める |
mask | 8ビットシングルチャンネル配列のオペレーションマスク:変更される出力配列の要素を指定します。 |
この関数は,配列をクリアします.配列が密な場合 (CvMat,CvMatNDまたは IplImage) の場合, cvZero(array) は cvSet(array,cvscalarAll(0),0) と等価です.疎な配列の場合は,すべての要素が削除されます.
arr | クリアされる配列 |
マルチチャンネル配列を,シングルチャンネル配列の集合に分割したり,特定の [color] プレーンを抽出したりします.
シングルチャンネル配列の集合を,1 つのマルチチャンネル配列にマージしたり,特定の [color] プレーンを配列に挿入したりします.
入力配列の複数のチャンネルを,出力配列の特定のチャンネルにコピーします.
この関数は,いくつかの異なる目的を持っており,そのためにいくつかの異なる名前があります.この関数は,ある配列を別の配列にコピーします.オプションでスケーリングが最初に行われたり,オプションで型変換が後に行われたりします.
マルチチャンネル配列のすべてのチャンネルは,独立して処理されます.
変換の種類は,丸めと飽和で行われます.つまり,スケーリング+変換の結果が,出力配列の要素の型の値で正確に表現できない場合,実軸上で最も近い表現可能な値に設定されます.
src | 変換元配列 |
dst | 出力配列 |
scale | スケールファクター |
shift | スケーリングされたソース配列要素に加えられた値 |
すべての入力配列要素に対して線形変換を行い,その結果の絶対値を格納します: dst(x,y,c) = abs(scale*src(x,y,c)+shift). 出力配列は,8u 型でなければいけません.その他の場合は, cvConvertScale + cvAbsDiffS を利用することができます.
dst(mask) = src1(mask) + src2(mask)
dst(mask) = src(mask) + value
dst(mask) = src1(mask) - src2(mask)
dst(mask) = value - src(mask)
dst(idx) = src1(idx) * src2(idx) * scale (2つの配列をスケーリングして要素ごとに乗算します)
スケーリングを伴う要素単位の除算・反転: src1 == 0 の場合, dst(idx) = src1(idx) * scale / src2(idx) または dst(idx) = scale / src2(idx)
dst = src1 * scale + src2
dst = src1 * alpha + src2 * beta + gamma
dst(idx) = src1(idx) & src2(idx)
dst(idx) = src(idx) & value
dst(idx) = src1(idx) | src2(idx)
dst(idx) = src(idx) | 値
dst(idx) = src1(idx) ^ src2(idx)
dst(idx) = src(idx) ^ value
dst(idx) = ~src(idx)
dst(idx) = lower(idx) <= src(idx) < upper(idx)
dst(idx) = lower <= src(idx) < upper
比較演算は,シングルチャンネルの配列のみをサポートします.デスティネーションイメージは,8uC1 または 8sC1 である必要があります. dst(idx) = src1(idx)cmp_opsrc2(idx)
dst(idx) = src1(idx)cmp_op値
dst(idx) = min(src1(idx),src2(idx))
dst(idx) = max(src1(idx),src2(idx))
dst(idx) = min(src(idx),value)
dst(idx) = max(src(idx),value)
dst(x,y,c) = abs(src1(x,y,c) - src2(x,y,c))
dst(x,y,c) = abs(src(x,y,c) - value(c))
cartesian->polar 座標変換を行います.出力成分(大きさ,角度)のどちらか一方はオプションです.
極座標->デカルト座標変換を行います.出力される成分(大きさまたは角度)のどちらかはオプションです。マグニチュードがない場合は,すべて1であるとみなされます.
べき乗を行います: dst(idx) = src(idx)^power
指数計算を行います: dst(idx) = exp(src(idx)). オーバーフローはまだ処理されません。アンダーフローは処理されます.最大の相対誤差は,単精度の入力に対して ~7e-6 です.
自然対数を計算します: dst(idx) = log(abs(src(idx))). 0 の対数は,大きな負の数(~700)を与えます. 最大の相対誤差は,単精度出力では ~3e-7 です.
この関数は,一様分布あるいは正規分布した乱数で出力配列を埋めます.
rng | cvRNG によって初期化される CvRNG の状態. |
arr | コピー先の配列 |
dist_type | 配布タイプ
|
param1 | 分布の最初のパラメータ.一様分布の場合は,乱数の範囲の下側の境界を含みます.正規分布の場合は,乱数の平均値を表します. |
param2 | 分布の2番目のパラメータです。一様分布の場合は、乱数の範囲の排他的な上界です。正規分布の場合は、乱数の標準偏差です。 |
多項式のすべての実根および複素根を見つける
この関数は,2つの3次元ベクトルのクロスプロダクトを計算します.
または
src1 | 第1の入力ベクトル |
src2 | 2番目の入力ベクトル |
dst | 出力ベクトル |
拡張行列変換: dst = alpha*op(A)*op(B) + beta*op(C), ここで op(X)は X または X^T です.
入力配列の各要素を変換し,その結果であるベクトルを出力配列に格納します
入力配列の各要素に対して透視変換を行う
(A-delta)*(A-delta)^T (order=0) または (A-delta)^T*(A-delta) (order=1) を計算します.
行列の転置を行います.正方形の行列はその場で転置することができます。
対称行列を下側(LtoR=0)または上側(LtoR!=0)から補完します。
配列のデータを,水平軸(flip=0),垂直軸(flip=1),または両方の軸(flip=-1)でミラーリングします. cvFlip(src) は,画像を垂直方向に,シーケンスを水平方向に(その場で)反転させます.
行列の特異値分解を行います.
特異値後退代入を行います( A*X = B を解く):フラグは cvSVD と同じでなければいけません.
対称行列の固有値と固有ベクトルを求めます.
ベクトルの集合に対する共分散行列の計算
画素値の平均と標準偏差の算出
グローバルな最小・最大値とその位置を求める
離散フーリエ変換: 複素数->複素数,実数->ccs (順変換),ccs->実数 (逆変換)
DFTの結果を乗算する。DFT(X)*DFT(Y) または DFT(X)*conj(DFT(Y))
離散コサイン変換
メモリストレージを解放する。親の子はすべて親より先に解放しなければなりません。子ストレージは、リリースされるとすべてのブロックを親に返します。
メモリ・ストレージをクリアする。これは,( cvRestoreMemStoragePos 以外では)ストレージに割り当てられたメモリを再利用するための唯一の方法(!!)です.子ストレージは,クリアされるとすべてのブロックを親ストレージに戻します.
ストレージの「空きメモリ」の位置を記憶します.
ストレージの「フリーメモリ」の位置を復元します.
シーケンスブロックのデフォルトサイズ(粒度)を変更します。デフォルトのサイズは~1Kバイト
シーケンスから最後の要素を削除し,オプションで保存します。
シーケンスから最初の要素を削除し,オプションで保存します。
シーケンスの末尾に複数の新しい要素を追加する
シーケンスの末尾から複数の要素を削除し,任意に保存する
指定したシーケンス要素の削除
シーケンスからすべての要素を削除します。解放されたメモリは, cvClearMemStorage または cvRestoreMemStoragePos が呼ばれない限り,同じシーケンスでのみ再利用することができます.
シーケンスライタを初期化します.新しい要素は,シーケンスの最後に追加されます.
cvCreateSeq と cvStartAppendToSeq の組み合わせ.
シーケンスヘッダを更新します.cvGetSeqElem やシーケンスリーダを介して,以前に書き込まれた要素にアクセスすると便利です.
シーケンスリーダを初期化します.シーケンスは,順方向にも逆方向にも読むことができます.
シーケンスリーダの位置を変更します.現在の位置に対して,絶対的または相対的な位置に移動します.
シーケンススライスの削除
シーケンスや配列を,別のシーケンスに挿入します。
要素比較機能を使って,シーケンスをインプレースでソートする
シーケンスの要素の順序を,その場で反転させる
インデックスで集合から要素を削除する
集合からすべての要素を削除する
2つの頂点を結ぶ辺を削除する
グラフからすべての頂点と辺を削除する
グラフスキャナを解放します。
ルックアップ変換を行う。ソース配列の要素(8uC1または8sC1)は,256要素のテーブルであるlutarrのインデックスとして使用されます.
指定された「親」配列を持つ木に配列を挿入します。親がフレームと等しい場合(例えば,最も外側にある輪郭),追加された輪郭は親へのヌルポインタを持ちます.
木から輪郭を削除します(輪郭の子も一緒に).
通常,この関数は直接呼び出されません.代わりに,単純なマクロ CV_TURN_ON_IPL_COMPATIBILITY() が利用されます.このマクロは, cvSetIPLAllocators を呼び出し,そこに IPL 割り当て関数へのポインタを渡します.
create_header | IPL画像ヘッダを生成する関数へのポインタ. |
allocate_data | IPL画像データの割り当てを行う関数へのポインタ. |
deallocate | IPLイメージの割り当て解除を行う関数へのポインタ. |
create_roi | IPL画像のROI(Region of Interest)を作成する関数へのポインタ. |
clone_image | IPL画像の複製を行う関数へのポインタ. |
この関数は,与えられたオブジェクトの型を見つけ,ダブルポインタでreleaseを呼び出します.
struct_ptr | オブジェクトへのダブルポインタ |
エラー状態を静かに設定する
エラー状態を設定し,現在のエラーモードに応じていくつかの追加動作(メッセージボックスの表示,標準エラー出力へのメッセージの書き込み,アプリケーションの終了など)を行います.
コピー元の2次元配列を、より大きなコピー先の配列の内部にコピーし、コピーされた領域の周りに指定された型(IPL_BORDER_*)の境界線を作成します。
src | コピー元の画像 |
dst | コピー先の画像 |
smoothtype | スムージングの種類,SmoothMethod_cを参照してください. |
size1 | スムージング操作の最初のパラメータ,アパーチャ幅です.正の奇数(1, 3, 5, ...)でなければなりません。 |
size2 | スムージング操作の2番目のパラメータ,アパーチャの高さ.CV_MEDIAN や CV_BILATERAL では無視されます.単純なスケーリング/非スケーリング,ガウスぼかしの場合, size2 が0ならば size1 にセットされます.それ以外の場合は,正の奇数でなければいけません. |
sigma1 | ガウシアンパラメータの場合、このパラメータにはガウシアン![]()
![]() ![]() |
sigma2 | バイラテラル・フィルタリングの追加パラメータ |
src | 入力画像. |
dst | src と同じサイズ,同じチャンネル数の出力画像. |
kernel | シングルチャンネルの浮動小数点型行列であるコンボリューションカーネル(というよりも,相関カーネル).異なるチャンネルに異なるカーネルを適用したい場合は, split を用いて画像を別々のカラープレーンに分割し,それらを個別に処理します. |
anchor | カーネル内でのフィルタリングされた点の相対的な位置を示す,カーネルのアンカー.デフォルト値 (-1,-1) は,アンカーがカーネルの中心にあることを意味します. |
dst_width = floor(src_width/2)[+1], dst_height = floor(src_height/2)[+1].
dst_width = src_width*2, dst_height = src_height*2
(aperture_size = 1,3,5,7) または Scharr (aperture_size = -1) 演算子を使用します。Scharrは,1次dxまたはdy微分に対してのみ利用できます.
Linear-Polar 画像の順変換,逆変換を行います.
element ポインタが NULL の場合,3x3 の矩形の要素が利用されます.
dst(x,y) <- src(x + center.x - dst_width/2, y + center.y - dst_height/2). 小数点以下の座標を持つピクセルの値は,バイリニア補間を用いて取得されます
matrixarr = ( a11 a12 | b1 ) dst(x,y) <- src(A[x y]' + b) ( a21 a22 | b2 ) (バイリニア補間を用いて,分数座標を持つピクセルを取得します).
(substitutor が NULL の場合,最後に取得された輪郭がツリーから削除されます)
このリーダは,すべてのチェーンポイントの座標を反復的に取得するために利用されます.フリーマンコードをそのまま読み取る必要がある場合は,単純なシーケンスリーダを利用します.
これは,ヒストグラムのビンの範囲を設定するための独立した関数です.パラメータ ranges と uniform のより詳細な説明は,同様に範囲を初期化できる関数 :ocvCalcHist を参照してください.ヒストグラムのビンの範囲は、ヒストグラムが計算される前、あるいはヒストグラムのバックプロジェクションが計算される前に設定しなければなりません。
hist | ヒストグラム. |
ranges | ビンの範囲を表す配列.詳細は, :ocvCreateHist を参照してください。 |
uniform | 一様性フラグ.詳細は :ocvCreateHist を参照してください。 |
この関数は,ヒストグラム(ヘッダとデータ)を解放します.ヒストグラムへのポインタは,この関数によってクリアされます。もし *hist ポインタが既にNULLならば,この関数は何もしません.
hist | 解放されたヒストグラムへのダブルポインタ. |
この関数は,密なヒストグラムの場合はすべてのヒストグラムビンを0にし,疎な配列の場合はすべてのヒストグラムビンを削除します.
hist | ヒストグラム. |
この関数は,ヒストグラムの最小ビンと最大ビン,そしてそれらの位置を求めます.すべての出力引数はオプションです.同じ値を持つ複数の極大値の中から,(辞書的順序で)最小のインデックスを持つものが返されます.また,複数の極大値や極小値がある場合は,辞書的順序で最も早いもの(極大値の位置)が返されます.
hist | ヒストグラム. |
min_value | ヒストグラムの最小値へのポインタ. |
max_value | ヒストグラムの最大値へのポインタ. |
min_idx | 最小値を表す座標の配列へのポインタ. |
max_idx | 最大値を表す座標の配列へのポインタ. |
この関数は,ヒストグラムのビンの合計が factor と等しくなるようにスケーリングすることで,ヒストグラムのビンを正規化します.
hist | ヒストグラムへのポインタ. |
factor | 正規化係数. |
この関数は,指定した閾値以下のヒストグラムビンを消去します.
hist | ヒストグラムへのポインタ. |
threshold | しきい値レベル。 |
この関数は,ヒストグラムのコピーを作成します.2番目のヒストグラムポインタ *dst が NULL の場合は, src と同じサイズの新しいヒストグラムが作成されます.そうでない場合は,両方のヒストグラムの型とサイズが等しくなければいけません.そして,この関数は,コピー元のヒストグラムのビン値をコピー先のヒストグラムにコピーし, src と同じビン値の範囲を設定します.
src | コピー元ヒストグラム. |
dst | コピー先のヒストグラムへのポインタ. |
この関数は,入力画像のパッチのヒストグラムと,与えられたヒストグラムを比較することで,バックプロジェクションを計算します.この関数は, matchTemplate と似ていますが,ラスタパッチを検索窓内の可能なすべての位置と比較する代わりに,関数 CalcBackProjectPatch はヒストグラムを比較します.以下のアルゴリズム図をご覧ください。
image | ソース画像(ただし,CvMat** を渡しても構いません). |
dst | 出力画像。 |
range | |
hist | ヒストグラム. |
method | cvCompareHist に渡される比較手法(この関数の説明を参照してください). |
factor | 出力画像の正規化スケールに影響を与える,ヒストグラムの正規化係数.よく分からない場合は,1を渡します. |
この関数は,次のような2つのヒストグラムから,物体の確率密度を求めます.
hist1 | 1番目のヒストグラム(除数). |
hist2 | 2番目のヒストグラム. |
dst_hist | 移動先のヒストグラム. |
scale | 出力ヒストグラムのスケールファクタ. |
CV_ADAPTIVE_THRESH_MEAN_C および CV_ADAPTIVE_THRESH_GAUSSIAN_C の2つのパラメータは,近傍領域のサイズ(3, 5, 7 など)と,平均値から差し引かれる定数(...,-3,2,-1,0,1,2,3,...)です.
Dx^2 * Dyy + Dxx * Dy^2 - 2 * Dx * Dy * Dxy. この結果に閾値を適用すると、角の座標が得られる
det(M) - k*(trace(M)^2) を計算します。ここで M は各ピクセルの 2x2 勾配共分散行列です。
thickness<0(例えば, thickness == CV_FILLED )の場合,塗りつぶされたボックスが描画されます.
thickness は, cvRectangle の場合と同じように動作します.
に依存します.thickness,start_angleおよびend_angleパラメーターによって決まります.結果として得られる図形の回転は角度. 角度の単位は,すべて度です
この関数は,テキスト描画関数に渡すことのできるフォント構造体を初期化します.
font | この関数によって初期化されたフォント構造体へのポインタ |
font_face | フォント名の識別子.を参照してください.cv::HersheyFontsと,それに対応する古い CV_* 識別子を参照してください. |
hscale | 水平方向のスケール.1.0f に等しい場合,文字はフォントの種類に応じた元の幅を持ちます.0.5f に等しい場合,文字は元の幅の半分になります. |
vscale | 垂直方向のスケール。1.0f に設定すると、フォントの種類に応じて、元の高さの文字が表示されます。0.5f の場合、文字の高さは元の半分になります。 |
shear | 垂直線に対する文字の傾きのおおよその接線。0の場合はノンイタリックフォント、1.0fの場合は約45度の傾きなどを意味します。 |
thickness | 文字のストロークの太さ |
line_type | ストロークの種類,線の説明を参照してください. |
CV_INLINE void cvDecRefData | ( | CvArr * | arr | ) |
配列のデータ参照カウンタをデクリメントします.
この関数は,配列のデータ参照カウンタをデクリメントします.CvMatまたはCvMatND参照カウンタの
ポインタがNULLではない場合に,データ参照カウンタをデクリメントします.カウンタが0になった場合,データは解放されます.現在の実装では,データが cvCreateData 関数を用いて確保された場合のみ,参照カウンタが NULL ではありません.cvSetData を用いて外部データがヘッダに割り当てられた場合,ヘッダがより大きな行列や画像の一部である場合,ヘッダが画像や n 次元行列のヘッダから変換された場合など,その他の場合には,カウンタは NULL になります.
arr | 配列のヘッダへのポインタ. |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
arr | 入力配列 |
submat | 結果として得られる部分配列のヘッダへのポインタ. |
col | 選択された列の,ゼロベースのインデックス. |
CV_INLINE CvSparseNode * cvGetNextSparseNode | ( | CvSparseMatIterator * | mat_iterator | ) |
疎な行列の次の要素を返します.
この関数は,イテレータを次の疎な行列要素に移動させ,そのポインタを返します.現在のバージョンでは,要素はハッシュテーブルに格納されているので,特に順序はありません.以下のサンプルは,疎な行列を反復処理する方法を示しています.
mat_iterator | 疎な配列のイテレータ |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
arr | 入力配列 |
submat | 結果として得られる部分配列のヘッダへのポインタ. |
row | 選択された行のゼロベースのインデックス |
インデックスで指定されたセット要素を返します。要素がセットに属していない場合は,NULLが返されます.
CV_INLINE int cvIncRefData | ( | CvArr * | arr | ) |
CV_INLINE CvMat cvMat | ( | int | rows, |
int | cols, | ||
int | type, | ||
void *data | CV_DEFAULTNULL | ||
) |
インラインのコンストラクタです。内部でデータが確保されることはありません.(cvCreateData と一緒に利用するか,割り当てられたデータを含む行列を得るために cvCreateMat を代わりに利用してください).
CV_INLINE double cvmGet | ( | const CvMat * | mat, |
int | row, | ||
int | col | ||
) |
シングルチャンネルの浮動小数点型行列の指定された要素を返します.
この関数は,シングルチャンネルの浮動小数点型行列において, cvGetReal2D の代わりに高速に動作します.この関数が高速なのは,インラインであること,配列の種類や配列の要素の種類に対するチェックが少ないこと,そして,デバッグモードでのみ行と列の範囲をチェックすることによります.
mat | 入力行列 |
row | 行のゼロベースのインデックス |
col | columnの0ベースのインデックス |
CV_INLINE void cvmSet | ( | CvMat * | mat, |
int | row, | ||
int | col, | ||
double | value | ||
) |
シングルチャンネルの浮動小数点型行列の,指定された要素を設定します.
この関数は,シングルチャンネルの浮動小数点型行列において, cvSetReal2D の代わりに高速に動作します.この関数が高速なのは,インラインであること,配列の種類や配列の要素の種類に対するチェックが少ないこと,そして,デバッグモードでのみ行と列の範囲をチェックすることによります.
mat | 行列の |
row | 行のゼロベースのインデックス |
col | columnの0ベースのインデックス |
value | 行列要素の新しい値 |
CV_INLINE CvPoint2D32f cvPoint2D32f | ( | double | x, |
double | y | ||
) |
コンストラクタCvPoint2D32f構造体である。
CV_INLINE CvPoint2D64f cvPoint2D64f | ( | double | x, |
double | y | ||
) |
コンストラクタCvPoint2D64f構造体である。
CV_INLINE CvPoint3D32f cvPoint3D32f | ( | double | x, |
double | y, | ||
double | z | ||
) |
コンストラクタCvPoint3D32f構造体である。
CV_INLINE CvPoint3D64f cvPoint3D64f | ( | double | x, |
double | y, | ||
double | z | ||
) |
コンストラクタCvPoint3D64f構造体である。
CV_INLINE CvPoint cvPointFrom32f | ( | CvPoint2D32f | point | ) |
に変換します。CvPoint2D32fからCvPoint.
CV_INLINE CvPoint2D32f cvPointTo32f | ( | CvPoint | point | ) |
に変換します。CvPointからCvPoint2D32f.
CV_INLINE unsigned cvRandInt | ( | CvRNG * | rng | ) |
32 ビットの符号なし整数を返し,RNG を更新します.
この関数は,一様に分散されたランダムな 32 ビット符号なし整数を返し,RNG の状態を更新します.これは,C言語のランタイムライブラリの rand() 関数と似ていますが,OpenCV の関数は,プラットフォームによらず常に 32 ビットの乱数を生成します.
rng | cvRNG によって初期化される CvRNG の状態. |
CV_INLINE double cvRandReal | ( | CvRNG * | rng | ) |
浮動小数点型の乱数を返し,RNGを更新します.
この関数は,0から1(1は含まれません)の間の一様に分布する浮動小数点型の乱数を返します.
rng | cvRNG によって初期化される RNG の状態. |
CV_INLINE void cvReleaseMatND | ( | CvMatND ** | mat | ) |
多次元配列を解放します.
この関数は,配列データの参照カウンタをデクリメントし,配列ヘッダを解放します.参照カウンタが 0 になった場合,データも解放されます.
mat | 配列へのダブルポインタ。 |
CV_INLINE CvRNG cvRNG | ( | int64 seed | CV_DEFAULT-1 | ) |
乱数生成器の状態を初期化します。
この関数は、乱数生成器を初期化し、その状態を返します。この状態へのポインタは,関数 cvRandInt, cvRandReal, cvRandArr に渡すことができます.現在の実装では,キャリー付き乗算生成器が利用されています.
seed | ランダムシーケンスを開始するために利用される64ビットの値. |
CV_INLINE void cvSetRemoveByPtr | ( | CvSet * | set_header, |
void * | elem | ||
) |
ポインタで指定されたセット要素を削除します.
CV_INLINE CvSize2D32f cvSize2D32f | ( | double | width, |
double | height | ||
) |
コンストラクタCvSize2D32f構造体である。