Update the trunk to the OpenCV's CVS (2008-07-14)
[opencv] / cv / include / cv.h
index ba28738..28a7952 100644 (file)
@@ -80,10 +80,10 @@ CVAPI(void) cvCopyMakeBorder( const CvArr* src, CvArr* dst, CvPoint offset,
 /* Smoothes array (removes noise) */
 CVAPI(void) cvSmooth( const CvArr* src, CvArr* dst,
                       int smoothtype CV_DEFAULT(CV_GAUSSIAN),
-                      int param1 CV_DEFAULT(3),
-                      int param2 CV_DEFAULT(0),
-                      double param3 CV_DEFAULT(0),
-                      double param4 CV_DEFAULT(0));
+                      int size1 CV_DEFAULT(3),
+                      int size2 CV_DEFAULT(0),
+                      double sigma1 CV_DEFAULT(0),
+                      double sigma2 CV_DEFAULT(0));
 
 /* Convolves the image with the kernel */
 CVAPI(void) cvFilter2D( const CvArr* src, CvArr* dst, const CvMat* kernel,
@@ -474,6 +474,7 @@ CVAPI(void)  cvCalcOpticalFlowHS( const CvArr* prev, const CvArr* curr,
 #define  CV_LKFLOW_PYR_A_READY       1
 #define  CV_LKFLOW_PYR_B_READY       2
 #define  CV_LKFLOW_INITIAL_GUESSES   4
+#define  CV_LKFLOW_GET_MIN_EIGENVALS 8
 
 /* It is Lucas & Kanade method, modified to use pyramids.
    Also it does several iterations to get optical flow for
@@ -1050,6 +1051,27 @@ CVAPI(CvSeq*) cvHoughCircles( CvArr* image, void* circle_storage,
 CVAPI(void)  cvFitLine( const CvArr* points, int dist_type, double param,
                         double reps, double aeps, float* line );
 
+
+
+struct CvFeatureTree;
+
+/* Constructs kd-tree from set of feature descriptors */
+CVAPI(CvFeatureTree*) cvCreateFeatureTree(CvMat* desc);
+
+/* Release kd-tree */
+CVAPI(void) cvReleaseFeatureTree(CvFeatureTree* tr);
+
+/* Searches kd-tree for k nearest neighbors of given reference points,
+   searching at most emax leaves. */
+CVAPI(void) cvFindFeatures(CvFeatureTree* tr, CvMat* desc,
+                   CvMat* results, CvMat* dist, int k = 2, int emax = 20);
+
+/* Search kd-tree for all points that are inlier to given rect region. */
+CVAPI(int) cvFindFeaturesBoxed(CvFeatureTree* tr,
+                   CvMat* bounds_min, CvMat* bounds_max,
+                   CvMat* results);
+
+
 /****************************************************************************************\
 *                         Haar-like Object Detection functions                           *
 \****************************************************************************************/
@@ -1105,6 +1127,21 @@ CVAPI(void) cvFindHomography( const CvMat* src_points,
                               const CvMat* dst_points,
                               CvMat* homography );
 
+/* Computes RQ decomposition for 3x3 matrices */
+CVAPI(void) cvRQDecomp3x3( const CvMat *matrixM, CvMat *matrixR, CvMat *matrixQ,
+                           CvMat *matrixQx CV_DEFAULT(NULL),
+                           CvMat *matrixQy CV_DEFAULT(NULL),
+                           CvMat *matrixQz CV_DEFAULT(NULL),
+                           CvPoint3D64f *eulerAngles CV_DEFAULT(NULL));
+
+/* Computes projection matrix decomposition */
+CVAPI(void) cvDecomposeProjectionMatrix( const CvMat *projMatr, CvMat *calibMatr,
+                                         CvMat *rotMatr, CvMat *posVect,
+                                         CvMat *rotMatrX CV_DEFAULT(NULL),
+                                         CvMat *rotMatrY CV_DEFAULT(NULL),
+                                         CvMat *rotMatrZ CV_DEFAULT(NULL),
+                                         CvPoint3D64f *eulerAngles CV_DEFAULT(NULL));
+
 /* projects object points to the view plane using
    the specified extrinsic and intrinsic camera parameters */
 CVAPI(void) cvProjectPoints2( const CvMat* object_points, const CvMat* rotation_vector,
@@ -1140,6 +1177,16 @@ CVAPI(void) cvCalibrateCamera2( const CvMat* object_points,
                                 CvMat* translation_vectors CV_DEFAULT(NULL),
                                 int flags CV_DEFAULT(0) );
 
+CVAPI(void) cvCalibrationMatrixValues( const CvMat *calibMatr,
+                                int imgWidth, int imgHeight,
+                                double apertureWidth CV_DEFAULT(0),
+                                double apertureHeight CV_DEFAULT(0),
+                                double *fovx CV_DEFAULT(NULL),
+                                double *fovy CV_DEFAULT(NULL),
+                                double *focalLength CV_DEFAULT(NULL),
+                                CvPoint2D64f *principalPoint CV_DEFAULT(NULL),
+                                double *pixelAspectRatio CV_DEFAULT(NULL));
+
 #define CV_CALIB_CB_ADAPTIVE_THRESH  1
 #define CV_CALIB_CB_NORMALIZE_IMAGE  2
 #define CV_CALIB_CB_FILTER_QUADS     4