亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cxtypes.h

?? OpenCV1.0 + C++Builder6 example of finding coners programm. Highlites coners it found in frame.
?? H
?? 第 1 頁 / 共 4 頁
字號:
CV_INLINE  CvPoint  cvPoint( int x, int y );
CV_INLINE  CvPoint  cvPoint( int x, int y )
{
    CvPoint p;

    p.x = x;
    p.y = y;

    return p;
}


typedef struct CvPoint2D32f
{
    float x;
    float y;
}
CvPoint2D32f;


CV_INLINE  CvPoint2D32f  cvPoint2D32f( double x, double y );
CV_INLINE  CvPoint2D32f  cvPoint2D32f( double x, double y )
{
    CvPoint2D32f p;

    p.x = (float)x;
    p.y = (float)y;

    return p;
}


CV_INLINE  CvPoint2D32f  cvPointTo32f( CvPoint point );
CV_INLINE  CvPoint2D32f  cvPointTo32f( CvPoint point )
{
    return cvPoint2D32f( (float)point.x, (float)point.y );
}


CV_INLINE  CvPoint  cvPointFrom32f( CvPoint2D32f point );
CV_INLINE  CvPoint  cvPointFrom32f( CvPoint2D32f point )
{
    CvPoint ipt;
    ipt.x = cvRound(point.x);
    ipt.y = cvRound(point.y);

    return ipt;
}


typedef struct CvPoint3D32f
{
    float x;
    float y;
    float z;
}
CvPoint3D32f;


CV_INLINE  CvPoint3D32f  cvPoint3D32f( double x, double y, double z );
CV_INLINE  CvPoint3D32f  cvPoint3D32f( double x, double y, double z )
{
    CvPoint3D32f p;

    p.x = (float)x;
    p.y = (float)y;
    p.z = (float)z;

    return p;
}


typedef struct CvPoint2D64d
{
    double x;
    double y;
}
CvPoint2D64d;


typedef struct CvPoint3D64d
{
    double x;
    double y;
    double z;
}
CvPoint3D64d;


/******************************** CvSize's & CvBox **************************************/

typedef struct
{
    int width;
    int height;
}
CvSize;

CV_INLINE  CvSize  cvSize( int width, int height );
CV_INLINE  CvSize  cvSize( int width, int height )
{
    CvSize s;

    s.width = width;
    s.height = height;

    return s;
}

typedef struct CvSize2D32f
{
    float width;
    float height;
}
CvSize2D32f;


CV_INLINE  CvSize2D32f  cvSize2D32f( double width, double height );
CV_INLINE  CvSize2D32f  cvSize2D32f( double width, double height )
{
    CvSize2D32f s;

    s.width = (float)width;
    s.height = (float)height;

    return s;
}

typedef struct CvBox2D
{
    CvPoint2D32f center;  /* center of the box */
    CvSize2D32f  size;    /* box width and length */
    float angle;          /* angle between the horizontal axis
                             and the first side (i.e. length) in radians */
}
CvBox2D;

/************************************* CvSlice ******************************************/

typedef struct CvSlice
{
    int  start_index, end_index;
}
CvSlice;

CV_INLINE  CvSlice  cvSlice( int start, int end );
CV_INLINE  CvSlice  cvSlice( int start, int end )
{
    CvSlice slice;
    slice.start_index = start;
    slice.end_index = end;

    return slice;
}

#define CV_WHOLE_SEQ_END_INDEX 0x3fffffff
#define CV_WHOLE_SEQ  cvSlice(0, CV_WHOLE_SEQ_END_INDEX)


/************************************* CvScalar *****************************************/

typedef struct CvScalar
{
    double val[4];
}
CvScalar;

CV_INLINE  CvScalar  cvScalar( double val0, double val1 CV_DEFAULT(0),
                                double val2 CV_DEFAULT(0), double val3 CV_DEFAULT(0));
CV_INLINE  CvScalar  cvScalar( double val0, double val1, double val2, double val3 )
{
    CvScalar scalar;
    scalar.val[0] = val0; scalar.val[1] = val1;
    scalar.val[2] = val2; scalar.val[3] = val3;
    return scalar;
}


CV_INLINE  CvScalar  cvRealScalar( double val0 );
CV_INLINE  CvScalar  cvRealScalar( double val0 )
{
    CvScalar scalar;
    scalar.val[0] = val0;
    scalar.val[1] = scalar.val[2] = scalar.val[3] = 0;
    return scalar;
}

CV_INLINE  CvScalar  cvScalarAll( double val0123 );
CV_INLINE  CvScalar  cvScalarAll( double val0123 )
{
    CvScalar scalar;
    scalar.val[0] = scalar.val[1] = scalar.val[2] = scalar.val[3] = val0123;
    return scalar;
}

/****************************************************************************************\
*                                   Dynamic Data structures                              *
\****************************************************************************************/

/******************************** Memory storage ****************************************/

typedef struct CvMemBlock
{
    struct CvMemBlock*  prev;
    struct CvMemBlock*  next;
}
CvMemBlock;

#define CV_STORAGE_MAGIC_VAL    0x42890000

typedef struct CvMemStorage
{
    int     signature;
    CvMemBlock* bottom;/* first allocated block */
    CvMemBlock* top;   /* current memory block - top of the stack */
    struct  CvMemStorage* parent; /* borrows new blocks from */
    size_t  block_size;  /* block size */
    size_t  free_space;  /* free space in the current block */
}
CvMemStorage;

#define CV_IS_STORAGE(storage)  \
    ((storage) != NULL &&       \
    (((CvMemStorage*)(storage))->signature & CV_MAGIC_MASK) == CV_STORAGE_MAGIC_VAL)


typedef struct CvMemStoragePos
{
    CvMemBlock* top;
    size_t  free_space;
}
CvMemStoragePos;


/*********************************** Sequence *******************************************/

typedef struct CvSeqBlock
{
    struct CvSeqBlock*  prev; /* previous sequence block */
    struct CvSeqBlock*  next; /* next sequence block */
    int    start_index;       /* index of the first element in the block +
                                 sequence->first->start_index */
    int    count;             /* number of elements in the block */
    char*  data;              /* pointer to the first element of the block */
}
CvSeqBlock;


#define CV_TREE_NODE_FIELDS(node_type)                          \
    int       flags;         /* micsellaneous flags */          \
    int       header_size;   /* size of sequence header */      \
    struct    node_type* h_prev; /* previous sequence */        \
    struct    node_type* h_next; /* next sequence */            \
    struct    node_type* v_prev; /* 2nd previous sequence */    \
    struct    node_type* v_next  /* 2nd next sequence */

/*
   Read/Write sequence.
   Elements can be dynamically inserted to or deleted from the sequence.
*/
#define CV_SEQUENCE_FIELDS()                                            \
    CV_TREE_NODE_FIELDS(CvSeq);                                         \
    int       total;          /* total number of elements */            \
    int       elem_size;      /* size of sequence element in bytes */   \
    char*     block_max;      /* maximal bound of the last block */     \
    char*     ptr;            /* current write pointer */               \
    int       delta_elems;    /* how many elements allocated when the seq grows */  \
    CvMemStorage* storage;    /* where the seq is stored */             \
    CvSeqBlock* free_blocks;  /* free blocks list */                    \
    CvSeqBlock* first; /* pointer to the first sequence block */

typedef struct CvSeq
{
    CV_SEQUENCE_FIELDS()
}
CvSeq;

#define CV_TYPE_NAME_SEQ             "opencv-sequence"
#define CV_TYPE_NAME_SEQ_TREE        "opencv-sequence-tree"

/*************************************** Set ********************************************/
/*
  Set.
  Order isn't keeped. There can be gaps between sequence elements.
  After the element has been inserted it stays on the same place all the time.
  The MSB(most-significant or sign bit) of the first field is 0 iff the element exists.
*/
#define CV_SET_ELEM_FIELDS(elem_type)   \
    int  flags;                         \
    struct elem_type* next_free;

typedef struct CvSetElem
{
    CV_SET_ELEM_FIELDS(CvSetElem)
}
CvSetElem;

#define CV_SET_FIELDS()      \
    CV_SEQUENCE_FIELDS()     \
    CvSetElem* free_elems;   \
    int active_count;

typedef struct CvSet
{
    CV_SET_FIELDS()
}
CvSet;


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

/* Checks whether the element pointed by ptr belongs to a set or not */
#define CV_IS_SET_ELEM( ptr )  (((CvSetElem*)(ptr))->flags >= 0)

/************************************* Graph ********************************************/

/*
  Graph is represented 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 single-linked list of incoming/outcoming edges for each vertex.

  Each edge consists of:
    two pointers to the starting and the ending vertices (vtx[0] and vtx[1],
    respectively). Graph may be oriented or not. In the second case, edges between
    vertex i to vertex j are not distingueshed (during the search operations).

    two pointers to next edges for the starting and the ending vertices.
    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.
*/
#define CV_GRAPH_EDGE_FIELDS()      \
    int flags;                      \
    float weight;                   \
    struct CvGraphEdge* next[2];    \
    struct CvGraphVtx* vtx[2];


#define CV_GRAPH_VERTEX_FIELDS()    \
    int flags;                      \
    struct CvGraphEdge* first;


typedef struct CvGraphEdge
{
    CV_GRAPH_EDGE_FIELDS()
}
CvGraphEdge;

typedef struct CvGraphVtx
{
    CV_GRAPH_VERTEX_FIELDS()
}
CvGraphVtx;

typedef struct CvGraphVtx2D
{
    CV_GRAPH_VERTEX_FIELDS()
    CvPoint2D32f* ptr;
}
CvGraphVtx2D;

/*
   Graph is "derived" from the set (this is set a of vertices)
   and includes another set (edges)
*/
#define  CV_GRAPH_FIELDS()   \
    CV_SET_FIELDS()          \
    CvSet* edges;

typedef struct CvGraph
{
    CV_GRAPH_FIELDS()
}
CvGraph;

#define CV_TYPE_NAME_GRAPH "opencv-graph"

/*********************************** Chain/Countour *************************************/

typedef struct CvChain
{
    CV_SEQUENCE_FIELDS()
    CvPoint  origin;
}
CvChain;

#define CV_CONTOUR_FIELDS()  \
    CV_SEQUENCE_FIELDS()     \
    CvRect rect;             \
    int color;               \
    int reserved[3];

typedef struct CvContour
{
    CV_CONTOUR_FIELDS()
}
CvContour;

typedef CvContour CvPoint2DSeq;

/****************************************************************************************\
*                                    Sequence types                                      *
\****************************************************************************************/

#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           5
#define CV_SEQ_ELTYPE_MASK           ((1 << CV_SEQ_ELTYPE_BITS) - 1)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲第一区在线暖暖韩国 | 日本欧美一区二区| 不卡一二三区首页| 国产人久久人人人人爽| 国产麻豆视频精品| 精品成人在线观看| 狠狠色狠狠色综合系列| 精品粉嫩超白一线天av| 韩日精品视频一区| 久久久www成人免费无遮挡大片| 极品少妇一区二区| 国产网站一区二区| 不卡av免费在线观看| 国产精品高潮呻吟久久| 97久久超碰国产精品电影| 亚洲男人的天堂av| 欧美日韩一区二区三区视频| 偷拍与自拍一区| 日韩一区二区在线观看视频| 免费三级欧美电影| 久久天天做天天爱综合色| 高清日韩电视剧大全免费| 国产精品黄色在线观看| 在线视频一区二区三| 日韩激情中文字幕| 欧美va亚洲va在线观看蝴蝶网| 国内精品免费**视频| 国产欧美日产一区| 色先锋aa成人| 日韩中文字幕不卡| 久久综合狠狠综合| 成人av资源网站| 一区二区成人在线观看| 欧美一区二区三区不卡| 国产一区二区导航在线播放| 国产精品网友自拍| 欧美日韩国产大片| 国产一区二区三区在线观看免费| 国产精品无人区| 欧美日韩在线播放三区四区| 麻豆中文一区二区| 国产精品国产三级国产有无不卡| 色婷婷国产精品| 蜜桃在线一区二区三区| 国产精品欧美久久久久无广告| 色悠悠亚洲一区二区| 久久99精品一区二区三区三区| 国产欧美日韩久久| 欧美精品一卡二卡| 成人不卡免费av| 日韩av在线发布| 一区在线观看视频| 日韩欧美国产成人一区二区| 91免费在线视频观看| 日韩精品电影一区亚洲| 国产精品成人在线观看| 欧美日韩视频专区在线播放| 国产精品影音先锋| 亚洲成人在线观看视频| 国产午夜精品福利| 欧美一二三四区在线| 99国产精品久久久久| 青椒成人免费视频| 亚洲一区二区中文在线| 国产欧美日韩精品在线| 久久66热re国产| www成人在线观看| 色欧美片视频在线观看在线视频| 国模少妇一区二区三区| 亚洲超丰满肉感bbw| ...中文天堂在线一区| 日韩精品一区二区三区swag| 欧美性猛交xxxx乱大交退制版 | 国产一区二区视频在线| 午夜精品久久久久久不卡8050| 国产精品乱码人人做人人爱 | 99久久久久免费精品国产 | 91极品美女在线| 成人美女视频在线看| 美日韩一级片在线观看| 亚洲va欧美va人人爽| 亚洲乱码中文字幕| 亚洲欧洲另类国产综合| 久久精品一区二区| 亚洲精品一区二区三区影院| 91精品国产入口在线| 在线亚洲精品福利网址导航| av电影在线观看一区| 国产在线看一区| 老色鬼精品视频在线观看播放| 亚洲夂夂婷婷色拍ww47| 一区二区三区在线观看国产| 中文字幕欧美三区| 国产清纯白嫩初高生在线观看91| 精品国产99国产精品| 欧美xxxxxxxx| 精品久久国产老人久久综合| 精品美女在线观看| 精品国产网站在线观看| 欧美不卡一区二区| 精品福利在线导航| 久久久久久**毛片大全| 国产日韩精品一区| 国产精品视频一区二区三区不卡| 久久九九99视频| 国产精品欧美极品| 1024成人网| 亚洲一区日韩精品中文字幕| 亚洲成人av一区二区| 日本伊人色综合网| 国内成人免费视频| 国产91精品露脸国语对白| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩三级在线观看| 久久久亚洲午夜电影| 国产欧美一区二区精品秋霞影院| 国产精品欧美久久久久一区二区 | 日本麻豆一区二区三区视频| 蜜桃视频在线观看一区| 精品一区二区三区久久久| 国产综合久久久久久鬼色| 高清不卡在线观看| 91国偷自产一区二区三区成为亚洲经典| 色8久久精品久久久久久蜜 | 日韩精品在线一区二区| 久久伊人蜜桃av一区二区| 欧美国产精品一区| 亚洲女与黑人做爰| 免费精品视频在线| 成人午夜视频免费看| 在线观看日韩毛片| 欧美成人艳星乳罩| 成人欧美一区二区三区在线播放| 亚洲自拍都市欧美小说| 激情深爱一区二区| 色综合婷婷久久| 日韩欧美国产电影| 亚洲欧美在线视频观看| 视频在线观看一区二区三区| 国产一区二区三区免费看 | 五月婷婷色综合| 国产精品1区2区| 91成人免费在线| 日韩欧美亚洲国产另类| 中文字幕一区二区三区四区 | 国产日韩在线不卡| 亚洲国产美女搞黄色| 国产麻豆一精品一av一免费 | 91精品国产乱| 国产精品久久网站| 美女一区二区视频| 日本韩国欧美三级| 久久天天做天天爱综合色| 亚洲无人区一区| 盗摄精品av一区二区三区| 欧美一区二区在线免费播放| 亚洲精品乱码久久久久久| 国产乱子轮精品视频| 欧美日本在线一区| 国产精品久久久久久久久久免费看 | 日韩精品亚洲一区| 99精品国产一区二区三区不卡| 欧美大片在线观看一区二区| 一区二区三区色| 成人午夜在线播放| www国产亚洲精品久久麻豆| 亚洲国产aⅴ天堂久久| 成人av网站在线| 久久午夜国产精品| 免费欧美高清视频| 欧美中文字幕一区| 亚洲欧美偷拍卡通变态| 成熟亚洲日本毛茸茸凸凹| 精品国产亚洲一区二区三区在线观看| 亚洲永久免费视频| 99久久精品免费观看| 国产女人水真多18毛片18精品视频| 亚洲成av人在线观看| 色欧美乱欧美15图片| 国产精品国产三级国产普通话三级| 国产一区二区三区免费| 精品欧美乱码久久久久久1区2区 | 99久久久无码国产精品| 亚洲国产成人自拍| 国产成人激情av| 国产性做久久久久久| 国产一区二区三区av电影 | 国产农村妇女毛片精品久久麻豆| 六月婷婷色综合| 51精品秘密在线观看| 日韩精品1区2区3区| 欧美日韩高清一区二区| 亚洲国产乱码最新视频| 精品1区2区3区| 婷婷开心久久网| 欧美一区二区三区色| 捆绑调教美女网站视频一区| 欧美xxxx在线观看| 国产伦理精品不卡| 国产精品无码永久免费888|