Update to 2.0.0 tree from current Fremantle build
[opencv] / cv / include / cvtypes.h
diff --git a/cv/include/cvtypes.h b/cv/include/cvtypes.h
deleted file mode 100644 (file)
index e45cae2..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-/*M///////////////////////////////////////////////////////////////////////////////////////
-//
-//  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
-//
-//  By downloading, copying, installing or using the software you agree to this license.
-//  If you do not agree to this license, do not download, install,
-//  copy or use the software.
-//
-//
-//                        Intel License Agreement
-//                For Open Source Computer Vision Library
-//
-// Copyright (C) 2000, Intel Corporation, all rights reserved.
-// Third party copyrights are property of their respective owners.
-//
-// Redistribution and use in source and binary forms, with or without modification,
-// are permitted provided that the following conditions are met:
-//
-//   * Redistribution's of source code must retain the above copyright notice,
-//     this list of conditions and the following disclaimer.
-//
-//   * Redistribution's in binary form must reproduce the above copyright notice,
-//     this list of conditions and the following disclaimer in the documentation
-//     and/or other materials provided with the distribution.
-//
-//   * The name of Intel Corporation may not be used to endorse or promote products
-//     derived from this software without specific prior written permission.
-//
-// This software is provided by the copyright holders and contributors "as is" and
-// any express or implied warranties, including, but not limited to, the implied
-// warranties of merchantability and fitness for a particular purpose are disclaimed.
-// In no event shall the Intel Corporation or contributors be liable for any direct,
-// indirect, incidental, special, exemplary, or consequential damages
-// (including, but not limited to, procurement of substitute goods or services;
-// loss of use, data, or profits; or business interruption) however caused
-// and on any theory of liability, whether in contract, strict liability,
-// or tort (including negligence or otherwise) arising in any way out of
-// the use of this software, even if advised of the possibility of such damage.
-//
-//M*/
-
-#ifndef _CVTYPES_H_
-#define _CVTYPES_H_
-
-#ifndef SKIP_INCLUDES
-  #include <assert.h>
-  #include <stdlib.h>
-#endif
-
-/* spatial and central moments */
-typedef struct CvMoments
-{
-    double  m00, m10, m01, m20, m11, m02, m30, m21, m12, m03; /* spatial moments */
-    double  mu20, mu11, mu02, mu30, mu21, mu12, mu03; /* central moments */
-    double  inv_sqrt_m00; /* m00 != 0 ? 1/sqrt(m00) : 0 */
-}
-CvMoments;
-
-/* Hu invariants */
-typedef struct CvHuMoments
-{
-    double hu1, hu2, hu3, hu4, hu5, hu6, hu7; /* Hu invariants */
-}
-CvHuMoments;
-
-/**************************** Connected Component  **************************************/
-
-typedef struct CvConnectedComp
-{
-    double area;    /* area of the connected component  */
-    CvScalar value; /* average color of the connected component */
-    CvRect rect;    /* ROI of the component  */
-    CvSeq* contour; /* optional component boundary
-                      (the contour might have child contours corresponding to the holes)*/
-}
-CvConnectedComp;
-
-/*
-Internal structure that is used for sequental retrieving contours from the image.
-It supports both hierarchical and plane variants of Suzuki algorithm.
-*/
-typedef struct _CvContourScanner* CvContourScanner;
-
-/* contour retrieval mode */
-#define CV_RETR_EXTERNAL 0
-#define CV_RETR_LIST     1
-#define CV_RETR_CCOMP    2
-#define CV_RETR_TREE     3
-
-/* contour approximation method */
-#define CV_CHAIN_CODE               0
-#define CV_CHAIN_APPROX_NONE        1
-#define CV_CHAIN_APPROX_SIMPLE      2
-#define CV_CHAIN_APPROX_TC89_L1     3
-#define CV_CHAIN_APPROX_TC89_KCOS   4
-#define CV_LINK_RUNS                5
-
-/* Freeman chain reader state */
-typedef struct CvChainPtReader
-{
-    CV_SEQ_READER_FIELDS()
-    char      code;
-    CvPoint   pt;
-    schar     deltas[8][2];
-}
-CvChainPtReader;
-
-/* initializes 8-element array for fast access to 3x3 neighborhood of a pixel */
-#define  CV_INIT_3X3_DELTAS( deltas, step, nch )            \
-    ((deltas)[0] =  (nch),  (deltas)[1] = -(step) + (nch),  \
-     (deltas)[2] = -(step), (deltas)[3] = -(step) - (nch),  \
-     (deltas)[4] = -(nch),  (deltas)[5] =  (step) - (nch),  \
-     (deltas)[6] =  (step), (deltas)[7] =  (step) + (nch))
-
-/* Contour tree header */
-typedef struct CvContourTree
-{
-    CV_SEQUENCE_FIELDS()
-    CvPoint p1;            /* the first point of the binary tree root segment */
-    CvPoint p2;            /* the last point of the binary tree root segment */
-}
-CvContourTree;
-
-/* Finds a sequence of convexity defects of given contour */
-typedef struct CvConvexityDefect
-{
-    CvPoint* start; /* point of the contour where the defect begins */
-    CvPoint* end; /* point of the contour where the defect ends */
-    CvPoint* depth_point; /* the farthest from the convex hull point within the defect */
-    float depth; /* distance between the farthest point and the convex hull */
-}
-CvConvexityDefect;
-
-/************ Data structures and related enumerations for Planar Subdivisions ************/
-
-typedef size_t CvSubdiv2DEdge;
-
-#define CV_QUADEDGE2D_FIELDS()     \
-    int flags;                     \
-    struct CvSubdiv2DPoint* pt[4]; \
-    CvSubdiv2DEdge  next[4];
-
-#define CV_SUBDIV2D_POINT_FIELDS()\
-    int            flags;      \
-    CvSubdiv2DEdge first;      \
-    CvPoint2D32f   pt;
-
-#define CV_SUBDIV2D_VIRTUAL_POINT_FLAG (1 << 30)
-
-typedef struct CvQuadEdge2D
-{
-    CV_QUADEDGE2D_FIELDS()
-}
-CvQuadEdge2D;
-
-typedef struct CvSubdiv2DPoint
-{
-    CV_SUBDIV2D_POINT_FIELDS()
-}
-CvSubdiv2DPoint;
-
-#define CV_SUBDIV2D_FIELDS()    \
-    CV_GRAPH_FIELDS()           \
-    int  quad_edges;            \
-    int  is_geometry_valid;     \
-    CvSubdiv2DEdge recent_edge; \
-    CvPoint2D32f  topleft;      \
-    CvPoint2D32f  bottomright;
-
-typedef struct CvSubdiv2D
-{
-    CV_SUBDIV2D_FIELDS()
-}
-CvSubdiv2D;
-
-
-typedef enum CvSubdiv2DPointLocation
-{
-    CV_PTLOC_ERROR = -2,
-    CV_PTLOC_OUTSIDE_RECT = -1,
-    CV_PTLOC_INSIDE = 0,
-    CV_PTLOC_VERTEX = 1,
-    CV_PTLOC_ON_EDGE = 2
-}
-CvSubdiv2DPointLocation;
-
-typedef enum CvNextEdgeType
-{
-    CV_NEXT_AROUND_ORG   = 0x00,
-    CV_NEXT_AROUND_DST   = 0x22,
-    CV_PREV_AROUND_ORG   = 0x11,
-    CV_PREV_AROUND_DST   = 0x33,
-    CV_NEXT_AROUND_LEFT  = 0x13,
-    CV_NEXT_AROUND_RIGHT = 0x31,
-    CV_PREV_AROUND_LEFT  = 0x20,
-    CV_PREV_AROUND_RIGHT = 0x02
-}
-CvNextEdgeType;
-
-/* get the next edge with the same origin point (counterwise) */
-#define  CV_SUBDIV2D_NEXT_EDGE( edge )  (((CvQuadEdge2D*)((edge) & ~3))->next[(edge)&3])
-
-
-/* Defines for Distance Transform */
-#define CV_DIST_USER    -1  /* User defined distance */
-#define CV_DIST_L1      1   /* distance = |x1-x2| + |y1-y2| */
-#define CV_DIST_L2      2   /* the simple euclidean distance */
-#define CV_DIST_C       3   /* distance = max(|x1-x2|,|y1-y2|) */
-#define CV_DIST_L12     4   /* L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1)) */
-#define CV_DIST_FAIR    5   /* distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998 */
-#define CV_DIST_WELSCH  6   /* distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846 */
-#define CV_DIST_HUBER   7   /* distance = |x|<c ? x^2/2 : c(|x|-c/2), c=1.345 */
-
-
-/* Filters used in pyramid decomposition */
-typedef enum CvFilter
-{
-    CV_GAUSSIAN_5x5 = 7
-}
-CvFilter;
-
-/****************************************************************************************/
-/*                                    Older definitions                                 */
-/****************************************************************************************/
-
-typedef float*   CvVect32f;
-typedef float*   CvMatr32f;
-typedef double*  CvVect64d;
-typedef double*  CvMatr64d;
-
-typedef struct CvMatrix3
-{
-    float m[3][3];
-}
-CvMatrix3;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef float (CV_CDECL * CvDistanceFunction)( const float* a, const float* b, void* user_param );
-
-#ifdef __cplusplus
-}
-#endif
-
-typedef struct CvConDensation
-{
-    int MP;
-    int DP;
-    float* DynamMatr;       /* Matrix of the linear Dynamics system  */
-    float* State;           /* Vector of State                       */
-    int SamplesNum;         /* Number of the Samples                 */
-    float** flSamples;      /* arr of the Sample Vectors             */
-    float** flNewSamples;   /* temporary array of the Sample Vectors */
-    float* flConfidence;    /* Confidence for each Sample            */
-    float* flCumulative;    /* Cumulative confidence                 */
-    float* Temp;            /* Temporary vector                      */
-    float* RandomSample;    /* RandomVector to update sample set     */
-    struct CvRandState* RandS; /* Array of structures to generate random vectors */
-}
-CvConDensation;
-
-/*
-standard Kalman filter (in G. Welch' and G. Bishop's notation):
-
-  x(k)=A*x(k-1)+B*u(k)+w(k)  p(w)~N(0,Q)
-  z(k)=H*x(k)+v(k),   p(v)~N(0,R)
-*/
-typedef struct CvKalman
-{
-    int MP;                     /* number of measurement vector dimensions */
-    int DP;                     /* number of state vector dimensions */
-    int CP;                     /* number of control vector dimensions */
-
-    /* backward compatibility fields */
-#if 1
-    float* PosterState;         /* =state_pre->data.fl */
-    float* PriorState;          /* =state_post->data.fl */
-    float* DynamMatr;           /* =transition_matrix->data.fl */
-    float* MeasurementMatr;     /* =measurement_matrix->data.fl */
-    float* MNCovariance;        /* =measurement_noise_cov->data.fl */
-    float* PNCovariance;        /* =process_noise_cov->data.fl */
-    float* KalmGainMatr;        /* =gain->data.fl */
-    float* PriorErrorCovariance;/* =error_cov_pre->data.fl */
-    float* PosterErrorCovariance;/* =error_cov_post->data.fl */
-    float* Temp1;               /* temp1->data.fl */
-    float* Temp2;               /* temp2->data.fl */
-#endif
-
-    CvMat* state_pre;           /* predicted state (x'(k)):
-                                    x(k)=A*x(k-1)+B*u(k) */
-    CvMat* state_post;          /* corrected state (x(k)):
-                                    x(k)=x'(k)+K(k)*(z(k)-H*x'(k)) */
-    CvMat* transition_matrix;   /* state transition matrix (A) */
-    CvMat* control_matrix;      /* control matrix (B)
-                                   (it is not used if there is no control)*/
-    CvMat* measurement_matrix;  /* measurement matrix (H) */
-    CvMat* process_noise_cov;   /* process noise covariance matrix (Q) */
-    CvMat* measurement_noise_cov; /* measurement noise covariance matrix (R) */
-    CvMat* error_cov_pre;       /* priori error estimate covariance matrix (P'(k)):
-                                    P'(k)=A*P(k-1)*At + Q)*/
-    CvMat* gain;                /* Kalman gain matrix (K(k)):
-                                    K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)*/
-    CvMat* error_cov_post;      /* posteriori error estimate covariance matrix (P(k)):
-                                    P(k)=(I-K(k)*H)*P'(k) */
-    CvMat* temp1;               /* temporary matrices */
-    CvMat* temp2;
-    CvMat* temp3;
-    CvMat* temp4;
-    CvMat* temp5;
-}
-CvKalman;
-
-
-/*********************** Haar-like Object Detection structures **************************/
-#define CV_HAAR_MAGIC_VAL    0x42500000
-#define CV_TYPE_NAME_HAAR    "opencv-haar-classifier"
-
-#define CV_IS_HAAR_CLASSIFIER( haar )                                                    \
-    ((haar) != NULL &&                                                                   \
-    (((const CvHaarClassifierCascade*)(haar))->flags & CV_MAGIC_MASK)==CV_HAAR_MAGIC_VAL)
-
-#define CV_HAAR_FEATURE_MAX  3
-
-typedef struct CvHaarFeature
-{
-    int  tilted;
-    struct
-    {
-        CvRect r;
-        float weight;
-    } rect[CV_HAAR_FEATURE_MAX];
-}
-CvHaarFeature;
-
-typedef struct CvHaarClassifier
-{
-    int count;
-    CvHaarFeature* haar_feature;
-    float* threshold;
-    int* left;
-    int* right;
-    float* alpha;
-}
-CvHaarClassifier;
-
-typedef struct CvHaarStageClassifier
-{
-    int  count;
-    float threshold;
-    CvHaarClassifier* classifier;
-
-    int next;
-    int child;
-    int parent;
-}
-CvHaarStageClassifier;
-
-typedef struct CvHidHaarClassifierCascade CvHidHaarClassifierCascade;
-
-typedef struct CvHaarClassifierCascade
-{
-    int  flags;
-    int  count;
-    CvSize orig_window_size;
-    CvSize real_window_size;
-    double scale;
-    CvHaarStageClassifier* stage_classifier;
-    CvHidHaarClassifierCascade* hid_cascade;
-}
-CvHaarClassifierCascade;
-
-typedef struct CvAvgComp
-{
-    CvRect rect;
-    int neighbors;
-}
-CvAvgComp;
-
-struct CvFeatureTree;
-
-#endif /*_CVTYPES_H_*/
-
-/* End of file. */