51 #if defined HAVE_IPL && !defined __IPL_H__
53 #define CV_PRETEND_WINDOWS
55 typedef struct tagBITMAPINFOHEADER BITMAPINFOHEADER;
58 #if defined WIN32 || defined WIN64
63 #ifdef CV_PRETEND_WINDOWS
67 #endif // SKIP_INCLUDES
94 #define cvFree(ptr) (cvFree_(*(ptr)), *(ptr)=0)
102 int align CV_DEFAULT(4));
135 #define CV_AUTOSTEP 0x7fffffff
139 int type,
void*
data CV_DEFAULT(NULL),
198 #define cvGetSubArr cvGetSubRect
204 int delta_row CV_DEFAULT(1));
208 return cvGetRows( arr, submat, row, row + 1, 1 );
219 return cvGetCols( arr, submat, col, col + 1 );
227 int diag CV_DEFAULT(0));
231 int extend_to_12 CV_DEFAULT(0) );
243 int type,
void* data CV_DEFAULT(NULL) );
271 if( mat_iterator->node->next )
272 return mat_iterator->node = mat_iterator->node->
next;
276 for( idx = ++mat_iterator->curidx; idx < mat_iterator->mat->hashsize; idx++ )
281 mat_iterator->curidx =
idx;
282 return mat_iterator->node =
node;
291 #define CV_MAX_ARR 10
305 #define CV_NO_DEPTH_CHECK 1
306 #define CV_NO_CN_CHECK 2
307 #define CV_NO_SIZE_CHECK 4
315 int flags CV_DEFAULT(0) );
341 int* type CV_DEFAULT(NULL));
348 int create_node CV_DEFAULT(1),
349 unsigned* precalc_hashval CV_DEFAULT(NULL));
373 int idx1,
int idx2,
double value );
386 int* coi CV_DEFAULT(NULL),
387 int allowND CV_DEFAULT(0));
407 #define cvReshapeND( arr, header, new_cn, new_dims, new_sizes ) \
408 cvReshapeMatND( (arr), sizeof(*(header)), (header), \
409 (new_cn), (new_dims), (new_sizes))
412 int new_cn,
int new_rows CV_DEFAULT(0) );
433 int* step CV_DEFAULT(NULL),
434 CvSize* roi_size CV_DEFAULT(NULL));
441 const
CvArr* mask CV_DEFAULT(NULL) );
446 const
CvArr* mask CV_DEFAULT(NULL) );
450 #define cvZero cvSetZero
476 double scale CV_DEFAULT(1),
477 double shift CV_DEFAULT(0) );
478 #define cvCvtScale cvConvertScale
479 #define cvScale cvConvertScale
480 #define cvConvert( src, dst ) cvConvertScale( (src), (dst), 1, 0 )
489 double scale CV_DEFAULT(1),
490 double shift CV_DEFAULT(0) );
491 #define cvCvtScaleAbs cvConvertScaleAbs
508 const
CvArr* mask CV_DEFAULT(NULL));
512 const
CvArr* mask CV_DEFAULT(NULL));
516 const
CvArr* mask CV_DEFAULT(NULL));
520 const
CvArr* mask CV_DEFAULT(NULL))
522 cvAddS( src,
cvScalar( -value.val[0], -value.val[1], -value.val[2], -value.val[3]),
528 const
CvArr* mask CV_DEFAULT(NULL));
544 #define cvAXPY( A, real_scalar, B, C ) cvScaleAdd(A, cvRealScalar(real_scalar), B, C)
556 CvArr* dst, const
CvArr* mask CV_DEFAULT(NULL));
560 CvArr* dst, const
CvArr* mask CV_DEFAULT(NULL));
564 CvArr* dst, const
CvArr* mask CV_DEFAULT(NULL));
568 CvArr* dst, const
CvArr* mask CV_DEFAULT(NULL));
572 CvArr* dst, const
CvArr* mask CV_DEFAULT(NULL));
576 CvArr* dst, const
CvArr* mask CV_DEFAULT(NULL));
622 #define cvAbs( src, dst ) cvAbsDiffS( (src), (dst), cvScalarAll(0))
632 int angle_in_degrees CV_DEFAULT(0));
639 int angle_in_degrees CV_DEFAULT(0));
665 #define CV_CHECK_RANGE 1
666 #define CV_CHECK_QUIET 2
669 #define cvCheckArray cvCheckArr
671 #define CV_RAND_UNI 0
672 #define CV_RAND_NORMAL 1
677 double iter_factor CV_DEFAULT(1.));
679 #define CV_SORT_EVERY_ROW 0
680 #define CV_SORT_EVERY_COLUMN 1
681 #define CV_SORT_ASCENDING 0
682 #define CV_SORT_DESCENDING 16
685 CvArr* idxmat CV_DEFAULT(NULL),
686 int flags CV_DEFAULT(0));
693 int maxiter CV_DEFAULT(0),
int fig CV_DEFAULT(0));
703 #define cvMatMulAdd( src1, src2, src3, dst ) cvGEMM( (src1), (src2), 1., (src3), 1., (dst), 0 )
704 #define cvMatMul( src1, src2, dst ) cvMatMulAdd( (src1), (src2), NULL, (dst))
706 #define CV_GEMM_A_T 1
707 #define CV_GEMM_B_T 2
708 #define CV_GEMM_C_T 4
713 int tABC CV_DEFAULT(0));
714 #define cvMatMulAddEx cvGEMM
720 const
CvMat* shiftvec CV_DEFAULT(NULL));
721 #define cvMatMulAddS cvTransform
730 double scale CV_DEFAULT(1.) );
734 #define cvT cvTranspose
743 int flip_mode CV_DEFAULT(0));
744 #define cvMirror cvFlip
747 #define CV_SVD_MODIFY_A 1
753 CvArr*
V CV_DEFAULT(NULL),
int flags CV_DEFAULT(0));
769 #define cvInv cvInvert
774 int method CV_DEFAULT(CV_LU));
794 #define CV_COVAR_SCRAMBLED 0
797 #define CV_COVAR_NORMAL 1
801 #define CV_COVAR_USE_AVG 2
804 #define CV_COVAR_SCALE 4
807 #define CV_COVAR_ROWS 8
810 #define CV_COVAR_COLS 16
815 #define CV_PCA_DATA_AS_ROW 0
816 #define CV_PCA_DATA_AS_COL 1
817 #define CV_PCA_USE_AVG 2
829 #define cvMahalonobis cvMahalanobis
846 const
CvArr* mask CV_DEFAULT(NULL) );
850 CvPoint* min_loc CV_DEFAULT(NULL),
851 CvPoint* max_loc CV_DEFAULT(NULL),
852 const
CvArr* mask CV_DEFAULT(NULL) );
858 #define CV_NORM_MASK 7
859 #define CV_RELATIVE 8
863 #define CV_DIFF_C (CV_DIFF | CV_C)
864 #define CV_DIFF_L1 (CV_DIFF | CV_L1)
865 #define CV_DIFF_L2 (CV_DIFF | CV_L2)
866 #define CV_RELATIVE_C (CV_RELATIVE | CV_C)
867 #define CV_RELATIVE_L1 (CV_RELATIVE | CV_L1)
868 #define CV_RELATIVE_L2 (CV_RELATIVE | CV_L2)
871 CVAPI(
double) cvNorm( const
CvArr* arr1, const
CvArr* arr2 CV_DEFAULT(NULL),
872 int norm_type CV_DEFAULT(
CV_L2),
873 const
CvArr* mask CV_DEFAULT(NULL) );
876 double a CV_DEFAULT(1.),
double b CV_DEFAULT(0.),
877 int norm_type CV_DEFAULT(CV_L2),
878 const
CvArr* mask CV_DEFAULT(NULL) );
881 #define CV_REDUCE_SUM 0
882 #define CV_REDUCE_AVG 1
883 #define CV_REDUCE_MAX 2
884 #define CV_REDUCE_MIN 3
893 #define CV_DXT_FORWARD 0
894 #define CV_DXT_INVERSE 1
895 #define CV_DXT_SCALE 2
896 #define CV_DXT_INV_SCALE (CV_DXT_INVERSE + CV_DXT_SCALE)
897 #define CV_DXT_INVERSE_SCALE CV_DXT_INV_SCALE
898 #define CV_DXT_ROWS 4
899 #define CV_DXT_MUL_CONJ 8
906 int nonzero_rows CV_DEFAULT(0) );
911 CvArr* dst,
int flags );
959 int len CV_DEFAULT(-1) );
990 int count,
int in_front CV_DEFAULT(0) );
994 int count,
int in_front CV_DEFAULT(0) );
999 void*
element CV_DEFAULT(NULL));
1045 int reverse CV_DEFAULT(0) );
1055 int is_relative CV_DEFAULT(0));
1065 int elem_size,
void* elements,
int total,
1071 int copy_data CV_DEFAULT(0));
1075 return cvSeqSlice( seq, CV_WHOLE_SEQ, storage, 1 );
1093 void* userdata CV_DEFAULT(NULL) );
1113 CvSetElem** inserted_elem CV_DEFAULT(NULL) );
1118 CvSetElem* elem = set_header->free_elems;
1121 set_header->free_elems = elem->next_free;
1123 set_header->active_count++;
1134 assert( _elem->flags >= 0 );
1135 _elem->next_free = set_header->free_elems;
1137 set_header->free_elems = _elem;
1138 set_header->active_count--;
1162 CvGraphVtx** inserted_vtx CV_DEFAULT(NULL) );
1194 #define cvGraphFindEdge cvFindGraphEdge
1195 #define cvGraphFindEdgeByPtr cvFindGraphEdgeByPtr
1207 #define cvGetGraphVtx( graph, idx ) (CvGraphVtx*)cvGetSetElem((CvSet*)(graph), (idx))
1210 #define cvGraphVtxIdx( graph, vtx ) ((vtx)->flags & CV_SET_ELEM_IDX_MASK)
1213 #define cvGraphEdgeIdx( graph, edge ) ((edge)->flags & CV_SET_ELEM_IDX_MASK)
1215 #define cvGraphGetVtxCount( graph ) ((graph)->active_count)
1216 #define cvGraphGetEdgeCount( graph ) ((graph)->edges->active_count)
1218 #define CV_GRAPH_VERTEX 1
1219 #define CV_GRAPH_TREE_EDGE 2
1220 #define CV_GRAPH_BACK_EDGE 4
1221 #define CV_GRAPH_FORWARD_EDGE 8
1222 #define CV_GRAPH_CROSS_EDGE 16
1223 #define CV_GRAPH_ANY_EDGE 30
1224 #define CV_GRAPH_NEW_TREE 32
1225 #define CV_GRAPH_BACKTRACKING 64
1226 #define CV_GRAPH_OVER -1
1228 #define CV_GRAPH_ALL_ITEMS -1
1231 #define CV_GRAPH_ITEM_VISITED_FLAG (1 << 30)
1232 #define CV_IS_GRAPH_VERTEX_VISITED(vtx) \
1233 (((CvGraphVtx*)(vtx))->flags & CV_GRAPH_ITEM_VISITED_FLAG)
1234 #define CV_IS_GRAPH_EDGE_VISITED(edge) \
1235 (((CvGraphEdge*)(edge))->flags & CV_GRAPH_ITEM_VISITED_FLAG)
1236 #define CV_GRAPH_SEARCH_TREE_NODE_FLAG (1 << 29)
1237 #define CV_GRAPH_FORWARD_EDGE_FLAG (1 << 28)
1280 #define CV_RGB( r, g, b ) cvScalar( (b), (g), (r), 0 )
1281 #define CV_FILLED -1
1288 int line_type CV_DEFAULT(8),
int shift CV_DEFAULT(0) );
1293 CvScalar color,
int thickness CV_DEFAULT(1),
1294 int line_type CV_DEFAULT(8),
1295 int shift CV_DEFAULT(0));
1300 CvScalar color,
int thickness CV_DEFAULT(1),
1301 int line_type CV_DEFAULT(8),
int shift CV_DEFAULT(0));
1308 CvScalar color,
int thickness CV_DEFAULT(1),
1309 int line_type CV_DEFAULT(8),
int shift CV_DEFAULT(0));
1312 int thickness CV_DEFAULT(1),
1313 int line_type CV_DEFAULT(8),
int shift CV_DEFAULT(0) )
1320 0, 360, color, thickness, line_type,
shift );
1325 int line_type CV_DEFAULT(8),
int shift CV_DEFAULT(0));
1329 int line_type CV_DEFAULT(8),
int shift CV_DEFAULT(0) );
1334 int line_type CV_DEFAULT(8),
int shift CV_DEFAULT(0) );
1336 #define cvDrawRect cvRectangle
1337 #define cvDrawLine cvLine
1338 #define cvDrawCircle cvCircle
1339 #define cvDrawEllipse cvEllipse
1340 #define cvDrawPolyLine cvPolyLine
1352 int connectivity CV_DEFAULT(8),
1353 int left_to_right CV_DEFAULT(0));
1356 #define CV_NEXT_LINE_POINT( line_iterator ) \
1358 int _line_iterator_mask = (line_iterator).err < 0 ? -1 : 0; \
1359 (line_iterator).err += (line_iterator).minus_delta + \
1360 ((line_iterator).plus_delta & _line_iterator_mask); \
1361 (line_iterator).ptr += (line_iterator).minus_step + \
1362 ((line_iterator).plus_step & _line_iterator_mask); \
1367 #define CV_FONT_HERSHEY_SIMPLEX 0
1368 #define CV_FONT_HERSHEY_PLAIN 1
1369 #define CV_FONT_HERSHEY_DUPLEX 2
1370 #define CV_FONT_HERSHEY_COMPLEX 3
1371 #define CV_FONT_HERSHEY_TRIPLEX 4
1372 #define CV_FONT_HERSHEY_COMPLEX_SMALL 5
1373 #define CV_FONT_HERSHEY_SCRIPT_SIMPLEX 6
1374 #define CV_FONT_HERSHEY_SCRIPT_COMPLEX 7
1377 #define CV_FONT_ITALIC 16
1379 #define CV_FONT_VECTOR0 CV_FONT_HERSHEY_SIMPLEX
1399 double shear CV_DEFAULT(0),
1400 int thickness CV_DEFAULT(1),
1401 int line_type CV_DEFAULT(8));
1436 int max_level,
int thickness CV_DEFAULT(1),
1437 int line_type CV_DEFAULT(8),
1498 #define CV_ErrModeLeaf 0
1499 #define CV_ErrModeParent 1
1500 #define CV_ErrModeSilent 2
1519 const
char**
filename,
int* line );
1525 const
char* err_msg, const
char* file_name,
int line,
void*
userdata );
1529 void* userdata CV_DEFAULT(NULL),
1530 void** prev_userdata CV_DEFAULT(NULL) );
1539 const
char* file_name,
int line,
void* userdata );
1542 const
char* file_name,
int line,
void* userdata );
1545 const
char* file_name,
int line,
void* userdata );
1554 void* userdata CV_DEFAULT(NULL));
1558 (
int,
int,
int,
char*,
char*,
int,
int,
int,
int,
int,
1572 #define CV_TURN_ON_IPL_COMPATIBILITY() \
1573 cvSetIPLAllocators( iplCreateImageHeader, iplAllocateImage, \
1574 iplDeallocate, iplCreateROI, iplCloneImage )
1595 int struct_flags, const
char* type_name CV_DEFAULT(NULL),
1609 const
char*
str,
int quote CV_DEFAULT(0) );
1618 CvAttrList attributes CV_DEFAULT(cvAttrList()));
1625 int len, const
char*
dt );
1630 int len CV_DEFAULT(-1),
1631 int create_missing CV_DEFAULT(0));
1636 int stream_index CV_DEFAULT(0) );
1642 int create_missing CV_DEFAULT(0) );
1651 return !node ? default_value :
1666 return !node ? default_value :
1673 const char* name,
double default_value
CV_DEFAULT(0.) )
1687 const char* name,
const char* default_value
CV_DEFAULT(NULL) )
1699 const
char* name,
CvAttrList* attributes CV_DEFAULT(NULL) )
1711 int count,
void* dst, const
char*
dt );
1715 void* dst, const
char* dt );
1738 const
char* name CV_DEFAULT(NULL),
1739 const
char*
comment CV_DEFAULT(NULL),
1743 const
char* name CV_DEFAULT(NULL),
1744 const
char** real_name CV_DEFAULT(NULL) );
1771 #define CV_SET_IMAGE_IO_FUNCTIONS() \
1772 cvSetImageIOFunctions( cvLoadImage, cvLoadImageM, cvSaveImage, cvShowImage )