📄 cv.h
字号:
CVAPI(void) cvSnakeImage( const IplImage* image, CvPoint* points, int length, float* alpha, float* beta, float* gamma, int coeff_usage, CvSize win, CvTermCriteria criteria, int calc_gradient CV_DEFAULT(1));/* Calculates the cooficients of the homography matrix */CVAPI(void) cvCalcImageHomography( float* line, CvPoint3D32f* center, float* intrinsic, float* homography );#define CV_DIST_MASK_3 3#define CV_DIST_MASK_5 5#define CV_DIST_MASK_PRECISE 0/* Applies distance transform to binary image */CVAPI(void) cvDistTransform( const CvArr* src, CvArr* dst, int distance_type CV_DEFAULT(CV_DIST_L2), int mask_size CV_DEFAULT(3), const float* mask CV_DEFAULT(NULL), CvArr* labels CV_DEFAULT(NULL));/* Types of thresholding */#define CV_THRESH_BINARY 0 /* value = value > threshold ? max_value : 0 */#define CV_THRESH_BINARY_INV 1 /* value = value > threshold ? 0 : max_value */#define CV_THRESH_TRUNC 2 /* value = value > threshold ? threshold : value */#define CV_THRESH_TOZERO 3 /* value = value > threshold ? value : 0 */#define CV_THRESH_TOZERO_INV 4 /* value = value > threshold ? 0 : value */#define CV_THRESH_MASK 7#define CV_THRESH_OTSU 8 /* use Otsu algorithm to choose the optimal threshold value; combine the flag with one of the above CV_THRESH_* values *//* Applies fixed-level threshold to grayscale image. This is a basic operation applied before retrieving contours */CVAPI(void) cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type );#define CV_ADAPTIVE_THRESH_MEAN_C 0#define CV_ADAPTIVE_THRESH_GAUSSIAN_C 1/* Applies adaptive threshold to grayscale image. The two parameters for methods CV_ADAPTIVE_THRESH_MEAN_C and CV_ADAPTIVE_THRESH_GAUSSIAN_C are: neighborhood size (3, 5, 7 etc.), and a constant subtracted from mean (...,-3,-2,-1,0,1,2,3,...) */CVAPI(void) cvAdaptiveThreshold( const CvArr* src, CvArr* dst, double max_value, int adaptive_method CV_DEFAULT(CV_ADAPTIVE_THRESH_MEAN_C), int threshold_type CV_DEFAULT(CV_THRESH_BINARY), int block_size CV_DEFAULT(3), double param1 CV_DEFAULT(5));#define CV_FLOODFILL_FIXED_RANGE (1 << 16)#define CV_FLOODFILL_MASK_ONLY (1 << 17)/* Fills the connected component until the color difference gets large enough */CVAPI(void) cvFloodFill( CvArr* image, CvPoint seed_point, CvScalar new_val, CvScalar lo_diff CV_DEFAULT(cvScalarAll(0)), CvScalar up_diff CV_DEFAULT(cvScalarAll(0)), CvConnectedComp* comp CV_DEFAULT(NULL), int flags CV_DEFAULT(4), CvArr* mask CV_DEFAULT(NULL));/****************************************************************************************\* Feature detection *\****************************************************************************************/#define CV_CANNY_L2_GRADIENT (1 << 31)/* Runs canny edge detector */CVAPI(void) cvCanny( const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size CV_DEFAULT(3) );/* Calculates constraint image for corner detection Dx^2 * Dyy + Dxx * Dy^2 - 2 * Dx * Dy * Dxy. Applying threshold to the result gives coordinates of corners */CVAPI(void) cvPreCornerDetect( const CvArr* image, CvArr* corners, int aperture_size CV_DEFAULT(3) );/* Calculates eigen values and vectors of 2x2 gradient covariation matrix at every image pixel */CVAPI(void) cvCornerEigenValsAndVecs( const CvArr* image, CvArr* eigenvv, int block_size, int aperture_size CV_DEFAULT(3) );/* Calculates minimal eigenvalue for 2x2 gradient covariation matrix at every image pixel */CVAPI(void) cvCornerMinEigenVal( const CvArr* image, CvArr* eigenval, int block_size, int aperture_size CV_DEFAULT(3) );/* Harris corner detector: Calculates det(M) - k*(trace(M)^2), where M is 2x2 gradient covariation matrix for each pixel */CVAPI(void) cvCornerHarris( const CvArr* image, CvArr* harris_responce, int block_size, int aperture_size CV_DEFAULT(3), double k CV_DEFAULT(0.04) );/* Adjust corner position using some sort of gradient search */CVAPI(void) cvFindCornerSubPix( const CvArr* image, CvPoint2D32f* corners, int count, CvSize win, CvSize zero_zone, CvTermCriteria criteria );/* Finds a sparse set of points within the selected region that seem to be easy to track */CVAPI(void) cvGoodFeaturesToTrack( const CvArr* image, CvArr* eig_image, CvArr* temp_image, CvPoint2D32f* corners, int* corner_count, double quality_level, double min_distance, const CvArr* mask CV_DEFAULT(NULL), int block_size CV_DEFAULT(3), int use_harris CV_DEFAULT(0), double k CV_DEFAULT(0.04) );#define CV_HOUGH_STANDARD 0#define CV_HOUGH_PROBABILISTIC 1#define CV_HOUGH_MULTI_SCALE 2#define CV_HOUGH_GRADIENT 3/* Finds lines on binary image using one of several methods. line_storage is either memory storage or 1 x <max number of lines> CvMat, its number of columns is changed by the function. method is one of CV_HOUGH_*; rho, theta and threshold are used for each of those methods; param1 ~ line length, param2 ~ line gap - for probabilistic, param1 ~ srn, param2 ~ stn - for multi-scale */CVAPI(CvSeq*) cvHoughLines2( CvArr* image, void* line_storage, int method, double rho, double theta, int threshold, double param1 CV_DEFAULT(0), double param2 CV_DEFAULT(0));/* Finds circles in the image */CVAPI(CvSeq*) cvHoughCircles( CvArr* image, void* circle_storage, int method, double dp, double min_dist, double param1 CV_DEFAULT(100), double param2 CV_DEFAULT(100), int min_radius CV_DEFAULT(0), int max_radius CV_DEFAULT(0));/* Fits a line into set of 2d or 3d points in a robust way (M-estimator technique) */CVAPI(void) cvFitLine( const CvArr* points, int dist_type, double param, double reps, double aeps, float* line );/****************************************************************************************\* Haar-like Object Detection functions *\****************************************************************************************//* Loads haar classifier cascade from a directory. It is obsolete: convert your cascade to xml and use cvLoad instead */CVAPI(CvHaarClassifierCascade*) cvLoadHaarClassifierCascade( const char* directory, CvSize orig_window_size);CVAPI(void) cvReleaseHaarClassifierCascade( CvHaarClassifierCascade** cascade );#define CV_HAAR_DO_CANNY_PRUNING 1#define CV_HAAR_SCALE_IMAGE 2CVAPI(CvSeq*) cvHaarDetectObjects( const CvArr* image, CvHaarClassifierCascade* cascade, CvMemStorage* storage, double scale_factor CV_DEFAULT(1.1), int min_neighbors CV_DEFAULT(3), int flags CV_DEFAULT(0), CvSize min_size CV_DEFAULT(cvSize(0,0)));/* sets images for haar classifier cascade */CVAPI(void) cvSetImagesForHaarClassifierCascade( CvHaarClassifierCascade* cascade, const CvArr* sum, const CvArr* sqsum, const CvArr* tilted_sum, double scale );/* runs the cascade on the specified window */CVAPI(int) cvRunHaarClassifierCascade( CvHaarClassifierCascade* cascade, CvPoint pt, int start_stage CV_DEFAULT(0));/****************************************************************************************\* Camera Calibration and Rectification functions *\****************************************************************************************//* transforms the input image to compensate lens distortion */CVAPI(void) cvUndistort2( const CvArr* src, CvArr* dst, const CvMat* intrinsic_matrix, const CvMat* distortion_coeffs );/* computes transformation map from intrinsic camera parameters that can used by cvRemap */CVAPI(void) cvInitUndistortMap( const CvMat* intrinsic_matrix, const CvMat* distortion_coeffs, CvArr* mapx, CvArr* mapy );/* converts rotation vector to rotation matrix or vice versa */CVAPI(int) cvRodrigues2( const CvMat* src, CvMat* dst, CvMat* jacobian CV_DEFAULT(0) );/* finds perspective transformation between the object plane and image (view) plane */CVAPI(void) cvFindHomography( const CvMat* src_points, const CvMat* dst_points, CvMat* homography );/* 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, const CvMat* translation_vector, const CvMat* intrinsic_matrix, const CvMat* distortion_coeffs, CvMat* image_points, CvMat* dpdrot CV_DEFAULT(NULL), CvMat* dpdt CV_DEFAULT(NULL), CvMat* dpdf CV_DEFAULT(NULL), CvMat* dpdc CV_DEFAULT(NULL), CvMat* dpddist CV_DEFAULT(NULL) );/* finds extrinsic camera parameters from a few known corresponding point pairs and intrinsic parameters */CVAPI(void) cvFindExtrinsicCameraParams2( const CvMat* object_points, const CvMat* image_points, const CvMat* intrinsic_matrix, const CvMat* distortion_coeffs, CvMat* rotation_vector, CvMat* translation_vector );#define CV_CALIB_USE_INTRINSIC_GUESS 1#define CV_CALIB_FIX_ASPECT_RATIO 2#define CV_CALIB_FIX_PRINCIPAL_POINT 4#define CV_CALIB_ZERO_TANGENT_DIST 8/* finds intrinsic and extrinsic camera parameters from a few views of known calibration pattern */CVAPI(void) cvCalibrateCamera2( const CvMat* object_points, const CvMat* image_points, const CvMat* point_counts, CvSize image_size, CvMat* intrinsic_matrix, CvMat* distortion_coeffs, CvMat* rotation_vectors CV_DEFAULT(NULL), CvMat* translation_vectors CV_DEFAULT(NULL), int flags CV_DEFAULT(0) );#define CV_CALIB_CB_ADAPTIVE_THRESH 1#define CV_CALIB_CB_NORMALIZE_IMAGE 2#define CV_CALIB_CB_FILTER_QUADS 4 /* Detects corners on a chessboard calibration pattern */CVAPI(int) cvFindChessboardCorners( const void* image, CvSize pattern_size, CvPoint2D32f* corners, int* corner_count CV_DEFAULT(NULL), int flags CV_DEFAULT(CV_CALIB_CB_ADAPTIVE_THRESH) );/* Draws individual chessboard corners or the whole chessboard detected */CVAPI(void) cvDrawChessboardCorners( CvArr* image, CvSize pattern_size, CvPoint2D32f* corners, int count, int pattern_was_found );typedef struct CvPOSITObject CvPOSITObject;/* Allocates and initializes CvPOSITObject structure before doing cvPOSIT */CVAPI(CvPOSITObject*) cvCreatePOSITObject( CvPoint3D32f* points, int point_count );/* Runs POSIT (POSe from ITeration) algorithm for determining 3d position of an object given its model and projection in a weak-perspective case */CVAPI(void) cvPOSIT( CvPOSITObject* posit_object, CvPoint2D32f* image_points, double focal_length, CvTermCriteria criteria, CvMatr32f rotation_matrix, CvVect32f translation_vector);/* Releases CvPOSITObject structure */CVAPI(void) cvReleasePOSITObject( CvPOSITObject** posit_object );/****************************************************************************************\* Epipolar Geometry *\****************************************************************************************/CVAPI(void) cvConvertPointsHomogenious( const CvMat* src, CvMat* dst );/* Calculates fundamental matrix given a set of corresponding points */#define CV_FM_7POINT 1#define CV_FM_8POINT 2#define CV_FM_LMEDS_ONLY 4#define CV_FM_RANSAC_ONLY 8#define CV_FM_LMEDS (CV_FM_LMEDS_ONLY + CV_FM_8POINT)#define CV_FM_RANSAC (CV_FM_RANSAC_ONLY + CV_FM_8POINT)CVAPI(int) cvFindFundamentalMat( const CvMat* points1, const CvMat* points2, CvMat* fundamental_matrix, int method CV_DEFAULT(CV_FM_RANSAC), double param1 CV_DEFAULT(1.), double param2 CV_DEFAULT(0.99), CvMat* status CV_DEFAULT(NULL) );/* For each input point on one of images computes parameters of the corresponding epipolar line on the other image */CVAPI(void) cvComputeCorrespondEpilines( const CvMat* points, int which_image, const CvMat* fundamental_matrix, CvMat* correspondent_lines ); #ifdef __cplusplus}#endif#ifdef __cplusplus#include "cv.hpp"#endif#endif /*_CV_H_*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -