_optcv.h.svn-base
来自「非结构化路识别」· SVN-BASE 代码 · 共 554 行 · 第 1/2 页
SVN-BASE
554 行
/*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 __OPTCV_H_
#define __OPTCV_H_
/****************************************************************************************\
* General type convolution *
\****************************************************************************************/
IPCVAPI( CvStatus, icvFilterInitAlloc, (
int roiWidth, CvDataType dataType, int channels,
CvSize elSize, CvPoint elAnchor,
const void* elData, int elementFlags,
struct CvFilterState ** morphState ))
IPCVAPI( CvStatus, icvFilterFree, ( struct CvFilterState ** morphState ))
/****************************************************************************************\
* AbsDiff *
\****************************************************************************************/
#define IPCV_ABS_DIFF( flavor, arrtype, scalartype ) \
IPCVAPI( CvStatus, icvAbsDiffC_##flavor##_C1R, \
( const arrtype* src, int srcstep, arrtype* dst, int dststep, \
CvSize size, const scalartype* scalar ))
IPCV_ABS_DIFF( 8u, uchar, int )
IPCV_ABS_DIFF( 32f, float, float )
IPCV_ABS_DIFF( 64f, double, double )
#undef IPCV_ABS_DIFF
/****************************************************************************************/
/* Flood Filling functions */
/****************************************************************************************/
IPCVAPI(CvStatus, icvEigenValsVecsGetSize, ( int roiWidth,int apertureSize,
int avgWindow, int* bufferSize ))
IPCVAPI(CvStatus, icvEigenValsVecs_8u32f_C1R, ( const unsigned char* pSrc, int srcStep,
float* pEigenVV, int eigStep,
CvSize roiSize, int apertureSize,
int avgWindow, void* pBuffer ))
IPCVAPI(CvStatus, icvEigenValsVecs_8s32f_C1R, ( const char* pSrc, int srcStep,
float* pEigenVV, int eigStep,
CvSize roiSize, int apertureSize,
int avgWindow, void* pBuffer ))
IPCVAPI(CvStatus, icvEigenValsVecs_32f_C1R, ( const float* pSrc, int srcStep,
float* pEigenVV, int eigStep,
CvSize roiSize, int apertureSize,
int avgWindow, void* pBuffer ))
/* //////////////////////////////////////////////////////////////////////////// *\
**********************************************************************************
\* //////////////////////////////////////////////////////////////////////////// */
IPCVAPI(CvStatus, icvMinAreaRect, (CvPoint * points, int n,
int left, int bottom, int right, int top,
CvPoint2D32f * anchor,
CvPoint2D32f * vect1, CvPoint2D32f * vect2) )
/****************************************************************************************/
/* Thresholding functions */
/****************************************************************************************/
IPCVAPI(CvStatus , icvThresh_8u_C1R, ( const uchar* src, int src_step,
uchar* dst, int dst_step,
CvSize roi, int thresh,
uchar max_val, CvThreshType type ))
IPCVAPI(CvStatus , icvThresh_8s_C1R, ( const char* src, int src_step,
char* dst, int dst_step,
CvSize roi, int thresh,
char max_val, CvThreshType type ))
IPCVAPI(CvStatus , icvThresh_32f_C1R,( const float* src, int src_step,
float* dst, int dst_step,
CvSize roi, float thresh,
float max_val, CvThreshType type))
/****************************************************************************************/
/* Detection functions */
/****************************************************************************************/
IPCVAPI( CvStatus, icvPreCornerDetect_8u32f_C1R, ( const uchar* src, int srcStep,
float* corner, int cornerStep,
CvSize roi, int apertureSize ))
IPCVAPI( CvStatus, icvPreCornerDetect_8s32f_C1R, ( const char* src, int srcStep,
float* corner, int cornerStep,
CvSize roi, int apertureSize ))
IPCVAPI( CvStatus, icvPreCornerDetect_32f_C1R, ( const float* src, int srcStep,
float* corner, int cornerStep,
CvSize roi, int apertureSize ))
/****************************************************************************************/
/* Snakes */
/****************************************************************************************/
IPCVAPI( CvStatus, icvSnakeImage8uC1R, ( uchar* src, int srcStep,
CvSize roi, CvPoint* points,
int length, float* alpha,
float* beta, float* gamma,
CvCoeffType coeffUsage, CvSize win,
CvTermCriteria criteria ))
IPCVAPI( CvStatus, icvSnakeImageGrad8uC1R,( uchar* src, int srcStep,
CvSize roi, CvPoint* points,
int length, float* alpha,
float* beta, float* gamma,
CvCoeffType coeffUsage, CvSize win,
CvTermCriteria criteria ))
/****************************************************************************************\
* Eigen objects *
\****************************************************************************************/
IPCVAPI( CvStatus, icvCalcCovarMatrixEx_8u32fR, ( int nObjects, void* input, int objStep,
int ioFlags, int ioBufSize,
uchar* buffer, void* userData,
float* avg, int avgStep, CvSize size,
float* covarMatrix ) )
IPCVAPI( CvStatus, icvCalcEigenObjects_8u32fR, ( int nObjects, void* input, int objStep,
void* output, int eigStep,
CvSize size, int ioFlags,
int ioBufSize, void* userData,
CvTermCriteria* calcLimit,
float* avg, int avgStep,
float* eigVals ) )
IPCVAPI(float, icvCalcDecompCoeff_8u32fR, ( uchar* obj, int objStep,
float* eigObj, int eigStep,
float* avg, int avgStep, CvSize size ))
IPCVAPI(CvStatus , icvEigenDecomposite_8u32fR, ( uchar* obj, int objStep, int nEigObjs,
void* eigInput, int eigStep,
int ioFlags, void* userData,
float* avg, int avgStep,
CvSize size, float* coeffs ) )
IPCVAPI(CvStatus, icvEigenProjection_8u32fR,(int nEigObjs, void* eigInput, int eigStep,
int ioFlags, void* userData,
float* coeffs, float* avg, int avgStep,
uchar* rest, int restStep, CvSize size))
////////////////////////////////////// SampleLine ////////////////////////////////////////
#define IPCV_SAMPLE_LINE( flavor, arrtype ) \
IPCVAPI( CvStatus, icvSampleLine_##flavor##_C1R, \
( CvLineIterator* iterator, arrtype* buffer, int count )) \
IPCVAPI( CvStatus, icvSampleLine_##flavor##_C2R, \
( CvLineIterator* iterator, arrtype* buffer, int count )) \
IPCVAPI( CvStatus, icvSampleLine_##flavor##_C3R, \
( CvLineIterator* iterator, arrtype* buffer, int count ))
IPCV_SAMPLE_LINE( 8u, uchar )
IPCV_SAMPLE_LINE( 32f, float )
#undef IPCV_SAMPLE_LINE
/****************************************************************************************/
/* HMM (Hidden Markov Models) */
/****************************************************************************************/
IPCVAPI( CvStatus, icvCreate2DHMM, ( CvEHMM** hmm,
int* state_number,
int* num_mix, int obs_size ))
IPCVAPI( CvStatus, icvRelease2DHMM, ( CvEHMM** hmm ))
IPCVAPI( CvStatus, icvCreateObsInfo, ( CvImgObsInfo** obs_info,
CvSize num_obs, int obs_size ) )
IPCVAPI( CvStatus, icvReleaseObsInfo, ( CvImgObsInfo** obs_info ) )
IPCVAPI( CvStatus, icvUniformImgSegm,( CvImgObsInfo* obs_info, CvEHMM* ehmm ) )
IPCVAPI( CvStatus, icvInitMixSegm, ( CvImgObsInfo** obs_info_array,
int num_img, CvEHMM* hmm ))
IPCVAPI( CvStatus, icvEstimateHMMStateParams, ( CvImgObsInfo** obs_info_array,
int num_img, CvEHMM* hmm ))
IPCVAPI( CvStatus, icvEstimateTransProb, ( CvImgObsInfo** obs_info_array,
int num_img, CvEHMM* hmm ))
IPCVAPI( CvStatus, icvEstimateObsProb, ( CvImgObsInfo* obs_info,
CvEHMM* hmm ))
IPCVAPI( float, icvEViterbi, (CvImgObsInfo* obs_info, CvEHMM* hmm ))
IPCVAPI( CvStatus, icvMixSegmL2, ( CvImgObsInfo** obs_info_array,
int num_img, CvEHMM* hmm ))
/* end of HMM functions*/
/* //////////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////////////////////// */
/* IPPM Group Functions */
/* //////////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////////////////////// */
/****************************************************************************************/
/* Vector operations */
/****************************************************************************************/
#define IPCV_DOTPRODUCT_2D( flavor, arrtype, sumtype ) \
IPCVAPI( CvStatus, \
icvDotProduct_##flavor##_C1R, ( const arrtype* src1, int step1, \
const arrtype* src2, int step2, \
CvSize size, sumtype* _sum ))
IPCV_DOTPRODUCT_2D( 8u, uchar, int64 )
IPCV_DOTPRODUCT_2D( 8s, char, int64 )
IPCV_DOTPRODUCT_2D( 16s, short, int64 )
IPCV_DOTPRODUCT_2D( 32s, int, double )
IPCV_DOTPRODUCT_2D( 32f, float, double )
IPCV_DOTPRODUCT_2D( 64f, double, double )
#undef IPCV_DOTPRODUCT_2D
IPCVAPI( CvStatus, icvCrossProduct2L_32f, ( const float* src1,
const float* src2,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?