summaryrefslogtreecommitdiff
path: root/thirdparty/raspberrypi/includes/opencv2/legacy/compat.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/raspberrypi/includes/opencv2/legacy/compat.hpp')
-rw-r--r--thirdparty/raspberrypi/includes/opencv2/legacy/compat.hpp740
1 files changed, 0 insertions, 740 deletions
diff --git a/thirdparty/raspberrypi/includes/opencv2/legacy/compat.hpp b/thirdparty/raspberrypi/includes/opencv2/legacy/compat.hpp
deleted file mode 100644
index 5b5495e..0000000
--- a/thirdparty/raspberrypi/includes/opencv2/legacy/compat.hpp
+++ /dev/null
@@ -1,740 +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*/
-
-/*
- A few macros and definitions for backward compatibility
- with the previous versions of OpenCV. They are obsolete and
- are likely to be removed in future. To check whether your code
- uses any of these, define CV_NO_BACKWARD_COMPATIBILITY before
- including cv.h.
-*/
-
-#ifndef __OPENCV_COMPAT_HPP__
-#define __OPENCV_COMPAT_HPP__
-
-#include "opencv2/core/core_c.h"
-#include "opencv2/imgproc/types_c.h"
-
-#include <math.h>
-#include <string.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef int CvMatType;
-typedef int CvDisMaskType;
-typedef CvMat CvMatArray;
-
-typedef int CvThreshType;
-typedef int CvAdaptiveThreshMethod;
-typedef int CvCompareMethod;
-typedef int CvFontFace;
-typedef int CvPolyApproxMethod;
-typedef int CvContoursMatchMethod;
-typedef int CvContourTreesMatchMethod;
-typedef int CvCoeffType;
-typedef int CvRodriguesType;
-typedef int CvElementShape;
-typedef int CvMorphOp;
-typedef int CvTemplMatchMethod;
-
-typedef CvPoint2D64f CvPoint2D64d;
-typedef CvPoint3D64f CvPoint3D64d;
-
-enum
-{
- CV_MAT32F = CV_32FC1,
- CV_MAT3x1_32F = CV_32FC1,
- CV_MAT4x1_32F = CV_32FC1,
- CV_MAT3x3_32F = CV_32FC1,
- CV_MAT4x4_32F = CV_32FC1,
-
- CV_MAT64D = CV_64FC1,
- CV_MAT3x1_64D = CV_64FC1,
- CV_MAT4x1_64D = CV_64FC1,
- CV_MAT3x3_64D = CV_64FC1,
- CV_MAT4x4_64D = CV_64FC1
-};
-
-enum
-{
- IPL_GAUSSIAN_5x5 = 7
-};
-
-typedef CvBox2D CvBox2D32f;
-
-/* allocation/deallocation macros */
-#define cvCreateImageData cvCreateData
-#define cvReleaseImageData cvReleaseData
-#define cvSetImageData cvSetData
-#define cvGetImageRawData cvGetRawData
-
-#define cvmAlloc cvCreateData
-#define cvmFree cvReleaseData
-#define cvmAllocArray cvCreateData
-#define cvmFreeArray cvReleaseData
-
-#define cvIntegralImage cvIntegral
-#define cvMatchContours cvMatchShapes
-
-CV_EXPORTS CvMat cvMatArray( int rows, int cols, int type,
- int count, void* data CV_DEFAULT(0));
-
-#define cvUpdateMHIByTime cvUpdateMotionHistory
-
-#define cvAccMask cvAcc
-#define cvSquareAccMask cvSquareAcc
-#define cvMultiplyAccMask cvMultiplyAcc
-#define cvRunningAvgMask(imgY, imgU, mask, alpha) cvRunningAvg(imgY, imgU, alpha, mask)
-
-#define cvSetHistThresh cvSetHistBinRanges
-#define cvCalcHistMask(img, mask, hist, doNotClear) cvCalcHist(img, hist, doNotClear, mask)
-
-CV_EXPORTS double cvMean( const CvArr* image, const CvArr* mask CV_DEFAULT(0));
-CV_EXPORTS double cvSumPixels( const CvArr* image );
-CV_EXPORTS void cvMean_StdDev( const CvArr* image, double* mean, double* sdv,
- const CvArr* mask CV_DEFAULT(0));
-
-CV_EXPORTS void cvmPerspectiveProject( const CvMat* mat, const CvArr* src, CvArr* dst );
-CV_EXPORTS void cvFillImage( CvArr* mat, double color );
-
-#define cvCvtPixToPlane cvSplit
-#define cvCvtPlaneToPix cvMerge
-
-typedef struct CvRandState
-{
- CvRNG state; /* RNG state (the current seed and carry)*/
- int disttype; /* distribution type */
- CvScalar param[2]; /* parameters of RNG */
-} CvRandState;
-
-/* Changes RNG range while preserving RNG state */
-CV_EXPORTS void cvRandSetRange( CvRandState* state, double param1,
- double param2, int index CV_DEFAULT(-1));
-
-CV_EXPORTS void cvRandInit( CvRandState* state, double param1,
- double param2, int seed,
- int disttype CV_DEFAULT(CV_RAND_UNI));
-
-/* Fills array with random numbers */
-CV_EXPORTS void cvRand( CvRandState* state, CvArr* arr );
-
-#define cvRandNext( _state ) cvRandInt( &(_state)->state )
-
-CV_EXPORTS void cvbRand( CvRandState* state, float* dst, int len );
-
-CV_EXPORTS void cvbCartToPolar( const float* y, const float* x,
- float* magnitude, float* angle, int len );
-CV_EXPORTS void cvbFastArctan( const float* y, const float* x, float* angle, int len );
-CV_EXPORTS void cvbSqrt( const float* x, float* y, int len );
-CV_EXPORTS void cvbInvSqrt( const float* x, float* y, int len );
-CV_EXPORTS void cvbReciprocal( const float* x, float* y, int len );
-CV_EXPORTS void cvbFastExp( const float* x, double* y, int len );
-CV_EXPORTS void cvbFastLog( const double* x, float* y, int len );
-
-CV_EXPORTS CvRect cvContourBoundingRect( void* point_set, int update CV_DEFAULT(0));
-
-CV_EXPORTS double cvPseudoInverse( const CvArr* src, CvArr* dst );
-#define cvPseudoInv cvPseudoInverse
-
-#define cvContourMoments( contour, moments ) cvMoments( contour, moments, 0 )
-
-#define cvGetPtrAt cvPtr2D
-#define cvGetAt cvGet2D
-#define cvSetAt(arr,val,y,x) cvSet2D((arr),(y),(x),(val))
-
-#define cvMeanMask cvMean
-#define cvMean_StdDevMask(img,mask,mean,sdv) cvMean_StdDev(img,mean,sdv,mask)
-
-#define cvNormMask(imgA,imgB,mask,normType) cvNorm(imgA,imgB,normType,mask)
-
-#define cvMinMaxLocMask(img, mask, min_val, max_val, min_loc, max_loc) \
- cvMinMaxLoc(img, min_val, max_val, min_loc, max_loc, mask)
-
-#define cvRemoveMemoryManager cvSetMemoryManager
-
-#define cvmSetZero( mat ) cvSetZero( mat )
-#define cvmSetIdentity( mat ) cvSetIdentity( mat )
-#define cvmAdd( src1, src2, dst ) cvAdd( src1, src2, dst, 0 )
-#define cvmSub( src1, src2, dst ) cvSub( src1, src2, dst, 0 )
-#define cvmCopy( src, dst ) cvCopy( src, dst, 0 )
-#define cvmMul( src1, src2, dst ) cvMatMulAdd( src1, src2, 0, dst )
-#define cvmTranspose( src, dst ) cvT( src, dst )
-#define cvmInvert( src, dst ) cvInv( src, dst )
-#define cvmMahalanobis(vec1, vec2, mat) cvMahalanobis( vec1, vec2, mat )
-#define cvmDotProduct( vec1, vec2 ) cvDotProduct( vec1, vec2 )
-#define cvmCrossProduct(vec1, vec2,dst) cvCrossProduct( vec1, vec2, dst )
-#define cvmTrace( mat ) (cvTrace( mat )).val[0]
-#define cvmMulTransposed( src, dst, order ) cvMulTransposed( src, dst, order )
-#define cvmEigenVV( mat, evec, eval, eps) cvEigenVV( mat, evec, eval, eps )
-#define cvmDet( mat ) cvDet( mat )
-#define cvmScale( src, dst, scale ) cvScale( src, dst, scale )
-
-#define cvCopyImage( src, dst ) cvCopy( src, dst, 0 )
-#define cvReleaseMatHeader cvReleaseMat
-
-/* Calculates exact convex hull of 2d point set */
-CV_EXPORTS void cvConvexHull( CvPoint* points, int num_points,
- CvRect* bound_rect,
- int orientation, int* hull, int* hullsize );
-
-
-CV_EXPORTS void cvMinAreaRect( CvPoint* points, int n,
- int left, int bottom,
- int right, int top,
- CvPoint2D32f* anchor,
- CvPoint2D32f* vect1,
- CvPoint2D32f* vect2 );
-
-typedef int CvDisType;
-typedef int CvChainApproxMethod;
-typedef int CvContourRetrievalMode;
-
-CV_EXPORTS void cvFitLine3D( CvPoint3D32f* points, int count, int dist,
- void *param, float reps, float aeps, float* line );
-
-/* Fits a line into set of 2d points in a robust way (M-estimator technique) */
-CV_EXPORTS void cvFitLine2D( CvPoint2D32f* points, int count, int dist,
- void *param, float reps, float aeps, float* line );
-
-CV_EXPORTS void cvFitEllipse( const CvPoint2D32f* points, int count, CvBox2D* box );
-
-/* Projects 2d points to one of standard coordinate planes
- (i.e. removes one of coordinates) */
-CV_EXPORTS void cvProject3D( CvPoint3D32f* points3D, int count,
- CvPoint2D32f* points2D,
- int xIndx CV_DEFAULT(0),
- int yIndx CV_DEFAULT(1));
-
-/* Retrieves value of the particular bin
- of x-dimensional (x=1,2,3,...) histogram */
-#define cvQueryHistValue_1D( hist, idx0 ) \
- ((float)cvGetReal1D( (hist)->bins, (idx0)))
-#define cvQueryHistValue_2D( hist, idx0, idx1 ) \
- ((float)cvGetReal2D( (hist)->bins, (idx0), (idx1)))
-#define cvQueryHistValue_3D( hist, idx0, idx1, idx2 ) \
- ((float)cvGetReal3D( (hist)->bins, (idx0), (idx1), (idx2)))
-#define cvQueryHistValue_nD( hist, idx ) \
- ((float)cvGetRealND( (hist)->bins, (idx)))
-
-/* Returns pointer to the particular bin of x-dimesional histogram.
- For sparse histogram the bin is created if it didn't exist before */
-#define cvGetHistValue_1D( hist, idx0 ) \
- ((float*)cvPtr1D( (hist)->bins, (idx0), 0))
-#define cvGetHistValue_2D( hist, idx0, idx1 ) \
- ((float*)cvPtr2D( (hist)->bins, (idx0), (idx1), 0))
-#define cvGetHistValue_3D( hist, idx0, idx1, idx2 ) \
- ((float*)cvPtr3D( (hist)->bins, (idx0), (idx1), (idx2), 0))
-#define cvGetHistValue_nD( hist, idx ) \
- ((float*)cvPtrND( (hist)->bins, (idx), 0))
-
-
-#define CV_IS_SET_ELEM_EXISTS CV_IS_SET_ELEM
-
-
-CV_EXPORTS int cvHoughLines( CvArr* image, double rho,
- double theta, int threshold,
- float* lines, int linesNumber );
-
-CV_EXPORTS int cvHoughLinesP( CvArr* image, double rho,
- double theta, int threshold,
- int lineLength, int lineGap,
- int* lines, int linesNumber );
-
-
-CV_EXPORTS int cvHoughLinesSDiv( CvArr* image, double rho, int srn,
- double theta, int stn, int threshold,
- float* lines, int linesNumber );
-
-CV_EXPORTS float cvCalcEMD( const float* signature1, int size1,
- const float* signature2, int size2,
- int dims, int dist_type CV_DEFAULT(CV_DIST_L2),
- CvDistanceFunction dist_func CV_DEFAULT(0),
- float* lower_bound CV_DEFAULT(0),
- void* user_param CV_DEFAULT(0));
-
-CV_EXPORTS void cvKMeans( int num_clusters, float** samples,
- int num_samples, int vec_size,
- CvTermCriteria termcrit, int* cluster_idx );
-
-CV_EXPORTS void cvStartScanGraph( CvGraph* graph, CvGraphScanner* scanner,
- CvGraphVtx* vtx CV_DEFAULT(NULL),
- int mask CV_DEFAULT(CV_GRAPH_ALL_ITEMS));
-
-CV_EXPORTS void cvEndScanGraph( CvGraphScanner* scanner );
-
-
-/* old drawing functions */
-CV_EXPORTS void cvLineAA( CvArr* img, CvPoint pt1, CvPoint pt2,
- double color, int scale CV_DEFAULT(0));
-
-CV_EXPORTS void cvCircleAA( CvArr* img, CvPoint center, int radius,
- double color, int scale CV_DEFAULT(0) );
-
-CV_EXPORTS void cvEllipseAA( CvArr* img, CvPoint center, CvSize axes,
- double angle, double start_angle,
- double end_angle, double color,
- int scale CV_DEFAULT(0) );
-
-CV_EXPORTS void cvPolyLineAA( CvArr* img, CvPoint** pts, int* npts, int contours,
- int is_closed, double color, int scale CV_DEFAULT(0) );
-
-/****************************************************************************************\
-* Pixel Access Macros *
-\****************************************************************************************/
-
-typedef struct _CvPixelPosition8u
-{
- uchar* currline; /* pointer to the start of the current pixel line */
- uchar* topline; /* pointer to the start of the top pixel line */
- uchar* bottomline; /* pointer to the start of the first line */
- /* which is below the image */
- int x; /* current x coordinate ( in pixels ) */
- int width; /* width of the image ( in pixels ) */
- int height; /* height of the image ( in pixels ) */
- int step; /* distance between lines ( in elements of single */
- /* plane ) */
- int step_arr[3]; /* array: ( 0, -step, step ). It is used for */
- /* vertical moving */
-} CvPixelPosition8u;
-
-/* this structure differs from the above only in data type */
-typedef struct _CvPixelPosition8s
-{
- schar* currline;
- schar* topline;
- schar* bottomline;
- int x;
- int width;
- int height;
- int step;
- int step_arr[3];
-} CvPixelPosition8s;
-
-/* this structure differs from the CvPixelPosition8u only in data type */
-typedef struct _CvPixelPosition32f
-{
- float* currline;
- float* topline;
- float* bottomline;
- int x;
- int width;
- int height;
- int step;
- int step_arr[3];
-} CvPixelPosition32f;
-
-
-/* Initialize one of the CvPixelPosition structures. */
-/* pos - initialized structure */
-/* origin - pointer to the left-top corner of the ROI */
-/* step - width of the whole image in bytes */
-/* roi - width & height of the ROI */
-/* x, y - initial position */
-#define CV_INIT_PIXEL_POS(pos, origin, _step, roi, _x, _y, orientation) \
- ( \
- (pos).step = (_step)/sizeof((pos).currline[0]) * (orientation ? -1 : 1), \
- (pos).width = (roi).width, \
- (pos).height = (roi).height, \
- (pos).bottomline = (origin) + (pos).step*(pos).height, \
- (pos).topline = (origin) - (pos).step, \
- (pos).step_arr[0] = 0, \
- (pos).step_arr[1] = -(pos).step, \
- (pos).step_arr[2] = (pos).step, \
- (pos).x = (_x), \
- (pos).currline = (origin) + (pos).step*(_y) )
-
-
-/* Move to specified point ( absolute shift ) */
-/* pos - position structure */
-/* x, y - coordinates of the new position */
-/* cs - number of the image channels */
-#define CV_MOVE_TO( pos, _x, _y, cs ) \
-((pos).currline = (_y) >= 0 && (_y) < (pos).height ? (pos).topline + ((_y)+1)*(pos).step : 0, \
- (pos).x = (_x) >= 0 && (_x) < (pos).width ? (_x) : 0, (pos).currline + (_x) * (cs) )
-
-/* Get current coordinates */
-/* pos - position structure */
-/* x, y - coordinates of the new position */
-/* cs - number of the image channels */
-#define CV_GET_CURRENT( pos, cs ) ((pos).currline + (pos).x * (cs))
-
-/* Move by one pixel relatively to current position */
-/* pos - position structure */
-/* cs - number of the image channels */
-
-/* left */
-#define CV_MOVE_LEFT( pos, cs ) \
- ( --(pos).x >= 0 ? (pos).currline + (pos).x*(cs) : 0 )
-
-/* right */
-#define CV_MOVE_RIGHT( pos, cs ) \
- ( ++(pos).x < (pos).width ? (pos).currline + (pos).x*(cs) : 0 )
-
-/* up */
-#define CV_MOVE_UP( pos, cs ) \
- (((pos).currline -= (pos).step) != (pos).topline ? (pos).currline + (pos).x*(cs) : 0 )
-
-/* down */
-#define CV_MOVE_DOWN( pos, cs ) \
- (((pos).currline += (pos).step) != (pos).bottomline ? (pos).currline + (pos).x*(cs) : 0 )
-
-/* left up */
-#define CV_MOVE_LU( pos, cs ) ( CV_MOVE_LEFT(pos, cs), CV_MOVE_UP(pos, cs))
-
-/* right up */
-#define CV_MOVE_RU( pos, cs ) ( CV_MOVE_RIGHT(pos, cs), CV_MOVE_UP(pos, cs))
-
-/* left down */
-#define CV_MOVE_LD( pos, cs ) ( CV_MOVE_LEFT(pos, cs), CV_MOVE_DOWN(pos, cs))
-
-/* right down */
-#define CV_MOVE_RD( pos, cs ) ( CV_MOVE_RIGHT(pos, cs), CV_MOVE_DOWN(pos, cs))
-
-
-
-/* Move by one pixel relatively to current position with wrapping when the position */
-/* achieves image boundary */
-/* pos - position structure */
-/* cs - number of the image channels */
-
-/* left */
-#define CV_MOVE_LEFT_WRAP( pos, cs ) \
- ((pos).currline + ( --(pos).x >= 0 ? (pos).x : ((pos).x = (pos).width-1))*(cs))
-
-/* right */
-#define CV_MOVE_RIGHT_WRAP( pos, cs ) \
- ((pos).currline + ( ++(pos).x < (pos).width ? (pos).x : ((pos).x = 0))*(cs) )
-
-/* up */
-#define CV_MOVE_UP_WRAP( pos, cs ) \
- ((((pos).currline -= (pos).step) != (pos).topline ? \
- (pos).currline : ((pos).currline = (pos).bottomline - (pos).step)) + (pos).x*(cs) )
-
-/* down */
-#define CV_MOVE_DOWN_WRAP( pos, cs ) \
- ((((pos).currline += (pos).step) != (pos).bottomline ? \
- (pos).currline : ((pos).currline = (pos).topline + (pos).step)) + (pos).x*(cs) )
-
-/* left up */
-#define CV_MOVE_LU_WRAP( pos, cs ) ( CV_MOVE_LEFT_WRAP(pos, cs), CV_MOVE_UP_WRAP(pos, cs))
-/* right up */
-#define CV_MOVE_RU_WRAP( pos, cs ) ( CV_MOVE_RIGHT_WRAP(pos, cs), CV_MOVE_UP_WRAP(pos, cs))
-/* left down */
-#define CV_MOVE_LD_WRAP( pos, cs ) ( CV_MOVE_LEFT_WRAP(pos, cs), CV_MOVE_DOWN_WRAP(pos, cs))
-/* right down */
-#define CV_MOVE_RD_WRAP( pos, cs ) ( CV_MOVE_RIGHT_WRAP(pos, cs), CV_MOVE_DOWN_WRAP(pos, cs))
-
-/* Numeric constants which used for moving in arbitrary direction */
-enum
-{
- CV_SHIFT_NONE = 2,
- CV_SHIFT_LEFT = 1,
- CV_SHIFT_RIGHT = 3,
- CV_SHIFT_UP = 6,
- CV_SHIFT_DOWN = 10,
- CV_SHIFT_LU = 5,
- CV_SHIFT_RU = 7,
- CV_SHIFT_LD = 9,
- CV_SHIFT_RD = 11
-};
-
-/* Move by one pixel in specified direction */
-/* pos - position structure */
-/* shift - direction ( it's value must be one of the CV_SHIFT_Ö constants ) */
-/* cs - number of the image channels */
-#define CV_MOVE_PARAM( pos, shift, cs ) \
- ( (pos).currline += (pos).step_arr[(shift)>>2], (pos).x += ((shift)&3)-2, \
- ((pos).currline != (pos).topline && (pos).currline != (pos).bottomline && \
- (pos).x >= 0 && (pos).x < (pos).width) ? (pos).currline + (pos).x*(cs) : 0 )
-
-/* Move by one pixel in specified direction with wrapping when the */
-/* position achieves image boundary */
-/* pos - position structure */
-/* shift - direction ( it's value must be one of the CV_SHIFT_Ö constants ) */
-/* cs - number of the image channels */
-#define CV_MOVE_PARAM_WRAP( pos, shift, cs ) \
- ( (pos).currline += (pos).step_arr[(shift)>>2], \
- (pos).currline = ((pos).currline == (pos).topline ? \
- (pos).bottomline - (pos).step : \
- (pos).currline == (pos).bottomline ? \
- (pos).topline + (pos).step : (pos).currline), \
- \
- (pos).x += ((shift)&3)-2, \
- (pos).x = ((pos).x < 0 ? (pos).width-1 : (pos).x >= (pos).width ? 0 : (pos).x), \
- \
- (pos).currline + (pos).x*(cs) )
-
-
-typedef float* CvVect32f;
-typedef float* CvMatr32f;
-typedef double* CvVect64d;
-typedef double* CvMatr64d;
-
-CV_EXPORTS void cvUnDistortOnce( const CvArr* src, CvArr* dst,
- const float* intrinsic_matrix,
- const float* distortion_coeffs,
- int interpolate );
-
-/* the two functions below have quite hackerish implementations, use with care
- (or, which is better, switch to cvUndistortInitMap and cvRemap instead */
-CV_EXPORTS void cvUnDistortInit( const CvArr* src,
- CvArr* undistortion_map,
- const float* A, const float* k,
- int interpolate );
-
-CV_EXPORTS void cvUnDistort( const CvArr* src, CvArr* dst,
- const CvArr* undistortion_map,
- int interpolate );
-
-/* Find fundamental matrix */
-CV_EXPORTS void cvFindFundamentalMatrix( int* points1, int* points2,
- int numpoints, int method, float* matrix );
-
-
-CV_EXPORTS int cvFindChessBoardCornerGuesses( const void* arr, void* thresharr,
- CvMemStorage* storage,
- CvSize pattern_size, CvPoint2D32f * corners,
- int *corner_count );
-
-/* Calibrates camera using multiple views of calibration pattern */
-CV_EXPORTS void cvCalibrateCamera( int image_count, int* _point_counts,
- CvSize image_size, CvPoint2D32f* _image_points, CvPoint3D32f* _object_points,
- float* _distortion_coeffs, float* _camera_matrix, float* _translation_vectors,
- float* _rotation_matrices, int flags );
-
-
-CV_EXPORTS void cvCalibrateCamera_64d( int image_count, int* _point_counts,
- CvSize image_size, CvPoint2D64f* _image_points, CvPoint3D64f* _object_points,
- double* _distortion_coeffs, double* _camera_matrix, double* _translation_vectors,
- double* _rotation_matrices, int flags );
-
-
-/* Find 3d position of object given intrinsic camera parameters,
- 3d model of the object and projection of the object into view plane */
-CV_EXPORTS void cvFindExtrinsicCameraParams( int point_count,
- CvSize image_size, CvPoint2D32f* _image_points,
- CvPoint3D32f* _object_points, float* focal_length,
- CvPoint2D32f principal_point, float* _distortion_coeffs,
- float* _rotation_vector, float* _translation_vector );
-
-/* Variant of the previous function that takes double-precision parameters */
-CV_EXPORTS void cvFindExtrinsicCameraParams_64d( int point_count,
- CvSize image_size, CvPoint2D64f* _image_points,
- CvPoint3D64f* _object_points, double* focal_length,
- CvPoint2D64f principal_point, double* _distortion_coeffs,
- double* _rotation_vector, double* _translation_vector );
-
-/* Rodrigues transform */
-enum
-{
- CV_RODRIGUES_M2V = 0,
- CV_RODRIGUES_V2M = 1
-};
-
-/* Converts rotation_matrix matrix to rotation_matrix vector or vice versa */
-CV_EXPORTS void cvRodrigues( CvMat* rotation_matrix, CvMat* rotation_vector,
- CvMat* jacobian, int conv_type );
-
-/* Does reprojection of 3d object points to the view plane */
-CV_EXPORTS void cvProjectPoints( int point_count, CvPoint3D64f* _object_points,
- double* _rotation_vector, double* _translation_vector,
- double* focal_length, CvPoint2D64f principal_point,
- double* _distortion, CvPoint2D64f* _image_points,
- double* _deriv_points_rotation_matrix,
- double* _deriv_points_translation_vect,
- double* _deriv_points_focal,
- double* _deriv_points_principal_point,
- double* _deriv_points_distortion_coeffs );
-
-
-/* Simpler version of the previous function */
-CV_EXPORTS void cvProjectPointsSimple( int point_count, CvPoint3D64f* _object_points,
- double* _rotation_matrix, double* _translation_vector,
- double* _camera_matrix, double* _distortion, CvPoint2D64f* _image_points );
-
-
-#define cvMake2DPoints cvConvertPointsHomogeneous
-#define cvMake3DPoints cvConvertPointsHomogeneous
-
-#define cvWarpPerspectiveQMatrix cvGetPerspectiveTransform
-
-#define cvConvertPointsHomogenious cvConvertPointsHomogeneous
-
-
-//////////////////////////////////// feature extractors: obsolete API //////////////////////////////////
-
-typedef struct CvSURFPoint
-{
- CvPoint2D32f pt;
-
- int laplacian;
- int size;
- float dir;
- float hessian;
-
-} CvSURFPoint;
-
-CV_INLINE CvSURFPoint cvSURFPoint( CvPoint2D32f pt, int laplacian,
- int size, float dir CV_DEFAULT(0),
- float hessian CV_DEFAULT(0))
-{
- CvSURFPoint kp;
-
- kp.pt = pt;
- kp.laplacian = laplacian;
- kp.size = size;
- kp.dir = dir;
- kp.hessian = hessian;
-
- return kp;
-}
-
-typedef struct CvSURFParams
-{
- int extended;
- int upright;
- double hessianThreshold;
-
- int nOctaves;
- int nOctaveLayers;
-
-} CvSURFParams;
-
-CVAPI(CvSURFParams) cvSURFParams( double hessianThreshold, int extended CV_DEFAULT(0) );
-
-// If useProvidedKeyPts!=0, keypoints are not detected, but descriptors are computed
-// at the locations provided in keypoints (a CvSeq of CvSURFPoint).
-CVAPI(void) cvExtractSURF( const CvArr* img, const CvArr* mask,
- CvSeq** keypoints, CvSeq** descriptors,
- CvMemStorage* storage, CvSURFParams params,
- int useProvidedKeyPts CV_DEFAULT(0) );
-
-/*!
- Maximal Stable Regions Parameters
- */
-typedef struct CvMSERParams
-{
- //! delta, in the code, it compares (size_{i}-size_{i-delta})/size_{i-delta}
- int delta;
- //! prune the area which bigger than maxArea
- int maxArea;
- //! prune the area which smaller than minArea
- int minArea;
- //! prune the area have simliar size to its children
- float maxVariation;
- //! trace back to cut off mser with diversity < min_diversity
- float minDiversity;
-
- /////// the next few params for MSER of color image
-
- //! for color image, the evolution steps
- int maxEvolution;
- //! the area threshold to cause re-initialize
- double areaThreshold;
- //! ignore too small margin
- double minMargin;
- //! the aperture size for edge blur
- int edgeBlurSize;
-} CvMSERParams;
-
-CVAPI(CvMSERParams) cvMSERParams( int delta CV_DEFAULT(5), int min_area CV_DEFAULT(60),
- int max_area CV_DEFAULT(14400), float max_variation CV_DEFAULT(.25f),
- float min_diversity CV_DEFAULT(.2f), int max_evolution CV_DEFAULT(200),
- double area_threshold CV_DEFAULT(1.01),
- double min_margin CV_DEFAULT(.003),
- int edge_blur_size CV_DEFAULT(5) );
-
-// Extracts the contours of Maximally Stable Extremal Regions
-CVAPI(void) cvExtractMSER( CvArr* _img, CvArr* _mask, CvSeq** contours, CvMemStorage* storage, CvMSERParams params );
-
-
-typedef struct CvStarKeypoint
-{
- CvPoint pt;
- int size;
- float response;
-} CvStarKeypoint;
-
-CV_INLINE CvStarKeypoint cvStarKeypoint(CvPoint pt, int size, float response)
-{
- CvStarKeypoint kpt;
- kpt.pt = pt;
- kpt.size = size;
- kpt.response = response;
- return kpt;
-}
-
-typedef struct CvStarDetectorParams
-{
- int maxSize;
- int responseThreshold;
- int lineThresholdProjected;
- int lineThresholdBinarized;
- int suppressNonmaxSize;
-} CvStarDetectorParams;
-
-CV_INLINE CvStarDetectorParams cvStarDetectorParams(
- int maxSize CV_DEFAULT(45),
- int responseThreshold CV_DEFAULT(30),
- int lineThresholdProjected CV_DEFAULT(10),
- int lineThresholdBinarized CV_DEFAULT(8),
- int suppressNonmaxSize CV_DEFAULT(5))
-{
- CvStarDetectorParams params;
- params.maxSize = maxSize;
- params.responseThreshold = responseThreshold;
- params.lineThresholdProjected = lineThresholdProjected;
- params.lineThresholdBinarized = lineThresholdBinarized;
- params.suppressNonmaxSize = suppressNonmaxSize;
-
- return params;
-}
-
-CVAPI(CvSeq*) cvGetStarKeypoints( const CvArr* img, CvMemStorage* storage,
- CvStarDetectorParams params CV_DEFAULT(cvStarDetectorParams()));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif