⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cvaux.h.svn-base

📁 这是于老师移植到dsp的源码
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
{    int id;    CvPoint2D32f p; // pgruebele: So we do not loose precision, this needs to be float} Cv3dTracker2dTrackedObject;CV_INLINE Cv3dTracker2dTrackedObject cv3dTracker2dTrackedObject(int id, CvPoint2D32f p){    Cv3dTracker2dTrackedObject r;    r.id = id;    r.p = p;    return r;}typedef struct{    int id;    CvPoint3D32f p;             // location of the tracked object} Cv3dTrackerTrackedObject;CV_INLINE Cv3dTrackerTrackedObject cv3dTrackerTrackedObject(int id, CvPoint3D32f p){    Cv3dTrackerTrackedObject r;    r.id = id;    r.p = p;    return r;}typedef struct{    CvBool valid;    float mat[4][4];              /* maps camera coordinates to world coordinates */    CvPoint2D32f principal_point; /* copied from intrinsics so this structure */                                  /* has all the info we need */} Cv3dTrackerCameraInfo;typedef struct{    CvPoint2D32f principal_point;    float focal_length[2];    float distortion[4];} Cv3dTrackerCameraIntrinsics;CVAPI(CvBool) cv3dTrackerCalibrateCameras(int num_cameras,                     const Cv3dTrackerCameraIntrinsics camera_intrinsics[], /* size is num_cameras */                     CvSize etalon_size,                     float square_size,                     IplImage *samples[],                                   /* size is num_cameras */                     Cv3dTrackerCameraInfo camera_info[]);                  /* size is num_cameras */CVAPI(int)  cv3dTrackerLocateObjects(int num_cameras, int num_objects,                   const Cv3dTrackerCameraInfo camera_info[],        /* size is num_cameras */                   const Cv3dTracker2dTrackedObject tracking_info[], /* size is num_objects*num_cameras */                   Cv3dTrackerTrackedObject tracked_objects[]);      /* size is num_objects *//**************************************************************************************** tracking_info is a rectangular array; one row per camera, num_objects elements per row. The id field of any unused slots must be -1. Ids need not be ordered or consecutive. On completion, the return value is the number of objects located; i.e., the number of objects visible by more than one camera. The id field of any unused slots in tracked objects is set to -1.****************************************************************************************//****************************************************************************************\*                           Skeletons and Linear-Contour Models                          *\****************************************************************************************/typedef enum CvLeeParameters{    CV_LEE_INT = 0,    CV_LEE_FLOAT = 1,    CV_LEE_DOUBLE = 2,    CV_LEE_AUTO = -1,    CV_LEE_ERODE = 0,    CV_LEE_ZOOM = 1,    CV_LEE_NON = 2} CvLeeParameters;#define CV_NEXT_VORONOISITE2D( SITE ) ((SITE)->edge[0]->site[((SITE)->edge[0]->site[0] == (SITE))])#define CV_PREV_VORONOISITE2D( SITE ) ((SITE)->edge[1]->site[((SITE)->edge[1]->site[0] == (SITE))])#define CV_FIRST_VORONOIEDGE2D( SITE ) ((SITE)->edge[0])#define CV_LAST_VORONOIEDGE2D( SITE ) ((SITE)->edge[1])#define CV_NEXT_VORONOIEDGE2D( EDGE, SITE ) ((EDGE)->next[(EDGE)->site[0] != (SITE)])#define CV_PREV_VORONOIEDGE2D( EDGE, SITE ) ((EDGE)->next[2 + ((EDGE)->site[0] != (SITE))])#define CV_VORONOIEDGE2D_BEGINNODE( EDGE, SITE ) ((EDGE)->node[((EDGE)->site[0] != (SITE))])#define CV_VORONOIEDGE2D_ENDNODE( EDGE, SITE ) ((EDGE)->node[((EDGE)->site[0] == (SITE))])#define CV_TWIN_VORONOISITE2D( SITE, EDGE ) ( (EDGE)->site[((EDGE)->site[0] == (SITE))]) #define CV_VORONOISITE2D_FIELDS()    \    struct CvVoronoiNode2D *node[2]; \    struct CvVoronoiEdge2D *edge[2];typedef struct CvVoronoiSite2D{    CV_VORONOISITE2D_FIELDS()    struct CvVoronoiSite2D *next[2];} CvVoronoiSite2D;#define CV_VORONOIEDGE2D_FIELDS()    \    struct CvVoronoiNode2D *node[2]; \    struct CvVoronoiSite2D *site[2]; \    struct CvVoronoiEdge2D *next[4];typedef struct CvVoronoiEdge2D{    CV_VORONOIEDGE2D_FIELDS()} CvVoronoiEdge2D;#define CV_VORONOINODE2D_FIELDS()       \    CV_SET_ELEM_FIELDS(CvVoronoiNode2D) \    CvPoint2D32f pt;                    \    float radius;typedef struct CvVoronoiNode2D{    CV_VORONOINODE2D_FIELDS()} CvVoronoiNode2D;#define CV_VORONOIDIAGRAM2D_FIELDS() \    CV_GRAPH_FIELDS()                \    CvSet *sites;typedef struct CvVoronoiDiagram2D{    CV_VORONOIDIAGRAM2D_FIELDS()} CvVoronoiDiagram2D;/* Computes Voronoi Diagram for given polygons with holes */CVAPI(int)  cvVoronoiDiagramFromContour(CvSeq* ContourSeq,                                           CvVoronoiDiagram2D** VoronoiDiagram,                                           CvMemStorage* VoronoiStorage,                                           CvLeeParameters contour_type CV_DEFAULT(CV_LEE_INT),                                           int contour_orientation CV_DEFAULT(-1),                                           int attempt_number CV_DEFAULT(10));/* Computes Voronoi Diagram for domains in given image */CVAPI(int)  cvVoronoiDiagramFromImage(IplImage* pImage,                                         CvSeq** ContourSeq,                                         CvVoronoiDiagram2D** VoronoiDiagram,                                         CvMemStorage* VoronoiStorage,                                         CvLeeParameters regularization_method CV_DEFAULT(CV_LEE_NON),                                         float approx_precision CV_DEFAULT(CV_LEE_AUTO));/* Deallocates the storage */CVAPI(void) cvReleaseVoronoiStorage(CvVoronoiDiagram2D* VoronoiDiagram,                                          CvMemStorage** pVoronoiStorage);/*********************** Linear-Contour Model ****************************/struct CvLCMEdge;struct CvLCMNode;typedef struct CvLCMEdge{    CV_GRAPH_EDGE_FIELDS()     CvSeq* chain;    float width;    int index1;    int index2;} CvLCMEdge;typedef struct CvLCMNode{    CV_GRAPH_VERTEX_FIELDS()    CvContour* contour; } CvLCMNode;/* Computes hybrid model from Voronoi Diagram */CVAPI(CvGraph*) cvLinearContorModelFromVoronoiDiagram(CvVoronoiDiagram2D* VoronoiDiagram,                                                         float maxWidth);/* Releases hybrid model storage */CVAPI(int) cvReleaseLinearContorModelStorage(CvGraph** Graph);/* two stereo-related functions */CVAPI(void) cvInitPerspectiveTransform( CvSize size, const CvPoint2D32f vertex[4], double matrix[3][3],                                              CvArr* rectMap );/*CVAPI(void) cvInitStereoRectification( CvStereoCamera* params,                                             CvArr* rectMap1, CvArr* rectMap2,                                             int do_undistortion );*//*************************** View Morphing Functions ************************//* The order of the function corresponds to the order they should appear in   the view morphing pipeline */ /* Finds ending points of scanlines on left and right images of stereo-pair */CVAPI(void)  cvMakeScanlines( const CvMatrix3* matrix, CvSize  img_size,                              int*  scanlines1, int*  scanlines2,                              int*  lengths1, int*  lengths2,                              int*  line_count );/* Grab pixel values from scanlines and stores them sequentially   (some sort of perspective image transform) */CVAPI(void)  cvPreWarpImage( int       line_count,                             IplImage* img,                             uchar*    dst,                             int*      dst_nums,                             int*      scanlines);/* Approximate each grabbed scanline by a sequence of runs   (lossy run-length compression) */CVAPI(void)  cvFindRuns( int    line_count,                         uchar* prewarp1,                         uchar* prewarp2,                         int*   line_lengths1,                         int*   line_lengths2,                         int*   runs1,                         int*   runs2,                         int*   num_runs1,                         int*   num_runs2);/* Compares two sets of compressed scanlines */CVAPI(void)  cvDynamicCorrespondMulti( int  line_count,                                       int* first,                                       int* first_runs,                                       int* second,                                       int* second_runs,                                       int* first_corr,                                       int* second_corr);/* Finds scanline ending coordinates for some intermediate "virtual" camera position */CVAPI(void)  cvMakeAlphaScanlines( int*  scanlines1,                                   int*  scanlines2,                                   int*  scanlinesA,                                   int*  lengths,                                   int   line_count,                                   float alpha);/* Blends data of the left and right image scanlines to get   pixel values of "virtual" image scanlines */CVAPI(void)  cvMorphEpilinesMulti( int    line_count,                                   uchar* first_pix,                                   int*   first_num,                                   uchar* second_pix,                                   int*   second_num,                                   uchar* dst_pix,                                   int*   dst_num,                                   float  alpha,                                   int*   first,                                   int*   first_runs,                                   int*   second,                                   int*   second_runs,                                   int*   first_corr,                                   int*   second_corr);/* Does reverse warping of the morphing result to make   it fill the destination image rectangle */CVAPI(void)  cvPostWarpImage( int       line_count,                              uchar*    src,                              int*      src_nums,                              IplImage* img,                              int*      scanlines);/* Deletes Moire (missed pixels that appear due to discretization) */CVAPI(void)  cvDeleteMoire( IplImage*  img );/****************************************************************************************\*                           Background/foreground segmentation                           *\****************************************************************************************/#define CV_BG_MODEL_FGD     0#define CV_BG_MODEL_MOG     1#define CV_BG_MODEL_FGD_SIMPLE   2struct CvBGStatModel;typedef void (CV_CDECL * CvReleaseBGStatModel)( struct CvBGStatModel** bg_model );typedef int (CV_CDECL * CvUpdateBGStatModel)( IplImage* curr_frame, struct CvBGStatModel* bg_model );#define CV_BG_STAT_MODEL_FIELDS()                                                   \    int             type; /*type of BG model*/                                      \    CvReleaseBGStatModel release;                                                   \    CvUpdateBGStatModel update;                                                     \    IplImage*       background;   /*8UC3 reference background image*/               \    IplImage*       foreground;   /*8UC1 foreground image*/                         \    IplImage**      layers;       /*8UC3 reference background image, can be null */ \    int             layer_count;  /* can be zero */                                 \    CvMemStorage*   storage;      /*storage for 揻oreground_regions

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -