About BBS

CV リファレンス マニュアル

最終変更者: 怡土順一, 最終変更リビジョン: 448, 最終変更日時: 2008-12-24 00:28:23 +0900 (水, 24 12月 2008)


モーション解析と物体追跡(Motion Analysis and Object Tracking)


推定器(Estimators)


CvKalman

カルマンフィルタ状態

typedef struct CvKalman
{
    int MP;                     /* 観測ベクトルの次元数 */
    int DP;                     /* 状態ベクトルの次元数 */
    int CP;                     /* コントロールベクトルの次元数 */

    /* 後方互換性フィールド */
#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;           /* 予測状態 (x'(k)):
                                    x(k)=A*x(k-1)+B*u(k) */
    CvMat* state_post;          /* 修正後の状態 (x(k)):
                                    x(k)=x'(k)+K(k)*(z(k)-H*x'(k)) */
    CvMat* transition_matrix;   /* 状態遷移行列 (A) */
    CvMat* control_matrix;      /* コントロール行列 (B)
                                   (コントロールされない場合は,用いられない) */
    CvMat* measurement_matrix;  /* 観測行列 (H) */
    CvMat* process_noise_cov;   /* プロセスノイズ共分散行列 (Q) */
    CvMat* measurement_noise_cov; /* 観測ノイズ共分散行列 (R) */
    CvMat* error_cov_pre;       /* 事前誤差推定共分散行列 (P'(k)):
                                    P'(k)=A*P(k-1)*At + Q)*/
    CvMat* gain;                /* カルマンゲイン行列 (K(k)):
                                    K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)*/
    CvMat* error_cov_post;      /* 事後誤差推定共分散行列 (P(k)):
                                    P(k)=(I-K(k)*H)*P'(k) */
    CvMat* temp1;               /* テンポラリ行列 */
    CvMat* temp2;
    CvMat* temp3;
    CvMat* temp4;
    CvMat* temp5;
}
CvKalman;

構造体 CvKalman は,カルマンフィルタ状態 を保存するために用いられる. これは関 数 cvCreateKalman によって作成され, 関数 cvKalmanPredict および, cvKalmanCorrect によって更新される. また関数 cvReleaseKalman によって解放される. 通常,構造体は標準カルマンフィルタに対して用いられる (以下の表記法と式は,優れたカルマンフィルタのチュートリアルである [Welch95] から引用した):

xk=A•xk-1+B•uk+wk
zk=H•xk+vk,

ここで,

xk (xk-1) - 時刻 k (k-1) におけるシステム状態
zk - 時刻 k におけるシステム状態の観測
uk - 時刻 k に適用される外部コントロール

wk と vk は,それぞれ正規分布に従うプロセスノイズと観測ノイズである.
p(w) ~ N(0,Q)
p(v) ~ N(0,R),

つまり,
Q - プロセスノイズ共分散行列,定数あるいは変数,
R - 観測ノイズ共分散行列,定数あるいは変数

標準的なカルマンフィルタの場合,全ての行列:A, B, H, Q, R は, cvCreateKalman によって構造体 CvKalman が確保された後に一度だけ初期化される. ただし,現在のシステム状態の近傍における,線形化された拡張カルマンフィルタの式によって,拡張カルマンフィルタをシミュレートするために,同じ構造体と同じ関数が用いられることがある. この場合,A, B, H は(おそらくQ, R も)毎回更新される.


CreateKalman

カルマンフィルタ構造体の領域確保を行う

CvKalman* cvCreateKalman( int dynam_params, int measure_params, int control_params=0 );

dynam_params
状態ベクトルの次元数
measure_params
観測ベクトルの次元
control_params
コントロールベクトルの次元

関数 cvCreateKalman は, CvKalman と,その全ての行列の領域を確保し,それらを何らかの方法で初期化する.


ReleaseKalman

カルマンフィルタ構造体を解放する

void cvReleaseKalman( CvKalman** kalman );

kalman
カルマンフィルタ構造体へのポインタのポインタ.

関数 cvReleaseKalman は,構造体 CvKalman および,内部的に用いられる全ての行列を解放する.


KalmanPredict

次のモデル状態を推定する

const CvMat* cvKalmanPredict( CvKalman* kalman, const CvMat* control=NULL );
#define cvKalmanUpdateByTime cvKalmanPredict

kalman
カルマンフィルタ状態.
control
コントロールベクトル (uk).外部コントロールが存在しない場合(control_params=0)に限り,NULL である.

関数 cvKalmanPredict は,現在の状態から次の確率モデルの状態を推定し,それを kalman->state_pre に保存する.

    x'k=A•xk+B•uk
    P'k=A•Pk-1*AT + Q,
ここで
x'kは,予測された状態(kalman->state_pre),
xk-1は,前のステップでの修正された状態(kalman->state_post)
                (これは最初に何らかの形で初期化される.デフォルトでは 0 ベクトル),
ukは,外部コントロール(引数control),
P'kは,事前誤差共分散行列(kalman->error_cov_pre)
Pk-1は,前のステップでの事後誤差共分散行列(kalman->error_cov_post)
                (これは最初に何らかの形で初期化される.デフォルトでは単位ベクトル),
この関数は推定された状態を返す.


KalmanCorrect

モデル状態を修正する

const CvMat* cvKalmanCorrect( CvKalman* kalman, const CvMat* measurement );
#define cvKalmanUpdateByMeasurement cvKalmanCorrect

kalman
更新される構造体へのポインタ.
measurement
観測ベクトルを含む構造体 CvMat へのポインタ.

関数 cvKalmanCorrect は,与えられたモデルの観測値を基準にして,次のように確率モデル状態を修正する.

Kk=P'k•HT•(H•P'k•HT+R)-1
xk=x'k+Kk•(zk-H•x'k)
Pk=(I-Kk•H)•P'k
ここで,
zk - 与えられた観測(引数mesurement)
Kk - カルマン「ゲイン」行列

この関数は修正された状態を kalman->state_post に保存し,これを出力として返す.

(例)カルマンフィルタを用いて回転する点を追跡する

#include "cv.h"
#include "highgui.h"
#include <math.h>

int main(int argc, char** argv)
{
    /* 行列データ */
    const float A[] = { 1, 1, 0, 1 };

    IplImage* img = cvCreateImage( cvSize(500,500), 8, 3 );
    CvKalman* kalman = cvCreateKalman( 2, 1, 0 );
    /* 状態(φ, Δφ) - 角度と角度の増加分 */
    CvMat* state = cvCreateMat( 2, 1, CV_32FC1 );
    CvMat* process_noise = cvCreateMat( 2, 1, CV_32FC1 );
    /* φ(角度)だけが観測される */
    CvMat* measurement = cvCreateMat( 1, 1, CV_32FC1 );
    CvRandState rng;
    int code = -1;

    cvRandInit( &rng, 0, 1, -1, CV_RAND_UNI );

    cvZero( measurement );
    cvNamedWindow( "Kalman", 1 );

    for(;;)
    {
        cvRandSetRange( &rng, 0, 0.1, 0 );
        rng.disttype = CV_RAND_NORMAL;

        cvRand( &rng, state );

        memcpy( kalman->transition_matrix->data.fl, A, sizeof(A));
        cvSetIdentity( kalman->measurement_matrix, cvRealScalar(1) );
        cvSetIdentity( kalman->process_noise_cov, cvRealScalar(1e-5) );
        cvSetIdentity( kalman->measurement_noise_cov, cvRealScalar(1e-1) );
        cvSetIdentity( kalman->error_cov_post, cvRealScalar(1));
        /* 初期状態をランダムに選択 */
        cvRand( &rng, kalman->state_post );

        rng.disttype = CV_RAND_NORMAL;

        for(;;)
        {
            #define calc_point(angle)                                      \
                cvPoint( cvRound(img->width/2 + img->width/3*cos(angle)),  \
                         cvRound(img->height/2 - img->width/3*sin(angle)))

            float state_angle = state->data.fl[0];
            CvPoint state_pt = calc_point(state_angle);

            /* 点の位置を予測 */
            const CvMat* prediction = cvKalmanPredict( kalman, 0 );
            float predict_angle = prediction->data.fl[0];
            CvPoint predict_pt = calc_point(predict_angle);
            float measurement_angle;
            CvPoint measurement_pt;

            cvRandSetRange( &rng, 0, sqrt(kalman->measurement_noise_cov->data.fl[0]), 0 );
            cvRand( &rng, measurement );

            /* 観測値を生成 */
            cvMatMulAdd( kalman->measurement_matrix, state, measurement, measurement );

            measurement_angle = measurement->data.fl[0];
            measurement_pt = calc_point(measurement_angle);

            /* 点をプロット */
            #define draw_cross( center, color, d )                                 \
                cvLine( img, cvPoint( center.x - d, center.y - d ),                \
                             cvPoint( center.x + d, center.y + d ), color, 1, 0 ); \
                cvLine( img, cvPoint( center.x + d, center.y - d ),                \
                             cvPoint( center.x - d, center.y + d ), color, 1, 0 )

            cvZero( img );
            draw_cross( state_pt, CV_RGB(255,255,255), 3 );
            draw_cross( measurement_pt, CV_RGB(255,0,0), 3 );
            draw_cross( predict_pt, CV_RGB(0,255,0), 3 );
            cvLine( img, state_pt, predict_pt, CV_RGB(255,255,0), 3, 0 );

            /* カルマンフィルタ状態を修正 */
            cvKalmanCorrect( kalman, measurement );

            cvRandSetRange( &rng, 0, sqrt(kalman->process_noise_cov->data.fl[0]), 0 );
            cvRand( &rng, process_noise );
            cvMatMulAdd( kalman->transition_matrix, state, process_noise, state );

            cvShowImage( "Kalman", img );
            code = cvWaitKey( 100 );

            if( code > 0 ) /* キーを押すと現在のシミュレーションを中止 */
                break;
        }
        if( code == 27 ) /* ESC キーで終了 */
            break;
    }

    return 0;
}

CvConDensation

ConDenstation 状態

    typedef struct CvConDensation
    {
        int MP;     // 観測ベクトルの次元
        int DP;     // 状態ベクトルの次元
        float* DynamMatr;       // 線形ダイナミクスを表す行列
        float* State;           // 状態ベクトル
        int SamplesNum;         // サンプル数
        float** flSamples;      // サンプルベクトルの配列
        float** flNewSamples;   // サンプルベクトルのテンポラリ配列
        float* flConfidence;    // 各サンプルの確かさ
        float* flCumulative;    // 確かさの累積値
        float* Temp;            // テンポラリベクトル
        float* RandomSample;    // サンプルセットを更新するためのランダムベクトル
        CvRandState* RandS;     // ランダムベクトルを生成するための構造体配列
    } CvConDensation;

構造体 CvConDensation は,CONditional DENSity propagATION 追跡器の状態を保存する. このアルゴリズムに関する情報は, http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/ISARD1/condensation.html で得られる.


CreateConDensation

ConDensation フィルタ構造体の領域確保を行う

CvConDensation* cvCreateConDensation( int dynam_params, int measure_params, int sample_count );

dynam_params
状態ベクトルの次元.
measure_params
観測ベクトルの次元.
sample_count
サンプル数.

関数 cvCreateConDensation は, 構造体 CvConDensation を作成し,そのポインタを返す.


ReleaseConDensation

ConDensation フィルタ構造体を解放する

void cvReleaseConDensation( CvConDensation** condens );

condens
解放する構造体のポインタのポインタ.

関数 cvReleaseConDensation は, 構造体 CvConDensationcvConDensation を参照)および, この構造体のために確保されたメモリを解放する.


ConDensInitSampleSet

ConDensation アルゴリズムのためのサンプル集合を初期化する

void cvConDensInitSampleSet( CvConDensation* condens, CvMat* lower_bound, CvMat* upper_bound );

condens
初期化される構造体へのポインタ.
lower_bound
各次元の下限のベクトル.
upper_bound
各次元の上限のベクトル.

関数 cvConDensInitSampleSet は, 構造体 CvConDensation 内のサンプル配列を,与えられた範囲内の値で埋める.


ConDensUpdateByTime

次のモデル状態を推定する

void cvConDensUpdateByTime( CvConDensation* condens );

condens
更新する構造体へのポインタ.

関数 cvConDensUpdateByTimeは,現在の状態から次の確率モデル状態を推定する.

OpenCV-1.0 リファレンス マニュアル
OpenCV-1.1pre リファレンス マニュアル
OpenCVサンプルコード


CV_ASSERT
CV_CALL
CV_CHECK
CV_CMP
CV_ERROR
CV_FUNCNAME
CV_GET_SEQ_ELEM
CV_GRAPH_EDGE_FIELDS
CV_GRAPH_FIELDS
CV_GRAPH_VERTEX_FIELDS
CV_IABS
CV_IMAGE_ELEM
CV_IMAX
CV_IMIN
CV_NODE_HAS_NAME
CV_NODE_IS_COLLECTION
CV_NODE_IS_EMPTY
CV_NODE_IS_FLOW
CV_NODE_IS_INT
CV_NODE_IS_MAP
CV_NODE_IS_REAL
CV_NODE_IS_SEQ
CV_NODE_IS_STRING
CV_NODE_IS_USER
CV_NODE_SEQ_IS_SIMPLE
CV_QUADEDGE2D_FIELDS
CV_RGB
CV_SEQUENCE_FIELDS
CV_SET_FIELDS
CV_SIGN
CV_SUBDIV2D_FIELDS
CV_SUBDIV2D_POINT_FIELDS
CV_SWAP
CV_TREE_NODE_FIELDS
CV_TURN_ON_IPL_COMPATIBILITY
EXIT
MAX
MIN
OPENCV_ASSERT
OPENCV_CALL
OPENCV_ERRCHK
OPENCV_ERROR
__BEGIN__
__END__

CvANN_MLP
CvANN_MLP_TrainParams
CvANN_MLP::create
CvANN_MLP::train
CvArr
CvAttrList
CvBoost
CvBoostParams
CvBoostTree
CvBoost::get_weak_predictors
CvBoost::predict
CvBoost::prune
CvBoost::train
CvBox2D
CvCapture
CvConDensation
CvConnectedComp
CvConvexityDefect
CvDTree
CvDTreeNode
CvDTreeParams
CvDTreeSplit
CvDTreeTrainData
CvDTree::predict
CvDTree::train
CvEM
CvEMParams
CvEM::train
CvFileNode
CvFileStorage
CvGraph
CvGraphScanner
CvHMM
CvImgObsInfo
CvHaarClassifier
CvHaarClassifierCascade
CvHaarFeature
CvHaarStageClassifier
CvHistogram
CvKNearest
CvKNearest::find_nearest
CvKNearest_train
CvKalman
CvMat
cvMatMul
cvMatMulAdd
CvMatND
CvMemBlock
CvMemStorage
CvMemStoragePos
CvNormalBayesClassifier
CvNormalBayesClassifier::predict
CvNormalBayesClassifier::train
CvPoint
CvPoint2D32f
CvPoint2D64f
CvPoint3D32f
CvPoint3D64f
CvQuadEdge2D
CvRTParams
CvRTrees
CvRTrees::get_proximity
CvRTrees::get_var_importance
CvRTrees::predict
CvRTrees::train
CvRect
CvSVM
CvSVMParams
CvSVM::get_support_vector
CvSVM::train
CvScalar
CvSeq
CvSeqBlock
CvSet
CvSize
CvSize2D32f
CvSlice
CvSparseMat
CvStatModel
CvStatModel::CvStatModel
CvStatModel::clear
CvStatModel::CvStatModel(data)
CvStatModel::~CvStatModel
CvStatModel::load
CvStatModel::predict
CvStatModel::read
CvStatModel::save
CvStatModel::train
CvStatModel::write
CvSubdiv2D
CvSubdiv2DPoint
CvTermCriteria
CvTreeNodeIterator
CvTypeInfo
IplImage
RTreesOOBerror

cv2DRotationMatrix
cv3dTrackerCalibrateCameras
cv3dTrackerLocateObjects
cvAbsDiff
cvAbsDiffS
cvAcc
cvAdaptiveThreshold
cvAdd
cvAddS
cvAddWeighted
cvAlloc
cvAnd
cvAndS
cvApproxChains
cvApproxPoly
cvArcLength
cvAvg
cvAvgSdv
cvBackProjectPCA
cvBoundingRect
cvBoxPoints
cvCalcBackProject
cvCalcBackProjectPatch
cvCalcCovarMatrix
cvCalcCovarMatrixEx
cvCalcDecompCoeff
cvCalcEMD2
cvCalcEigenObjects
cvCalcGlobalOrientation
cvCalcHist
cvCalcImageHomography
cvCalcMotionGradient
cvCalcOpticalFlowBM
cvCalcOpticalFlowHS
cvCalcOpticalFlowLK
cvCalcOpticalFlowPyrLK
cvCalcPCA
cvCalcPGH
cvCalcProbDensity
cvCalcSubdivVoronoi2D
cvCalibrateCamera2
cvCamShift
cvCanny
cvCartToPolar
cvCbrt
cvCheckArr
cvCheckContourConvexity
cvCircle
cvClearGraph
cvClearHist
cvClearMemStorage
cvClearND
cvClearSeq
cvClearSet
cvClearSubdivVoronoi2D
cvClipLine
cvClone
cvCloneGraph
cvCloneImage
cvCloneMat
cvCloneMatND
cvCloneSeq
cvCloneSparseMat
cvCmp
cvCmpS
cvCompareHist
cvComputeCorrespondEpilines
cvConDensInitSampleSet
cvConDensUpdateByTime
cvContourArea
cvContourFromContourTree
cvConvert
cvConvertImage
cvConvertPointsHomogenious
cvConvertScale
cvConvertScaleAbs
cvConvexHull2
cvConvexityDefects
cvCopy
cvCopyHist
cvCopyMakeBorder
cvCornerEigenValsAndVecs
cvCornerHarris
cvCornerMinEigenVal
cvCountNonZero
cvCreate2DHMM
cvCreateCameraCapture
cvCreateChildMemStorage
cvCreateConDensation
cvCreateContourTree
cvCreateData
cvCreateFileCapture
cvCreateGraph
cvCreateGraphScanner
cvCreateHist
cvCreateImage
cvCreateImageHeader
cvCreateKalman
cvCreateMat
cvCreateMatHeader
cvCreateMatND
cvCreateMatNDHeader
cvCreateMemStorage
cvCreateObsInfo
cvCreatePOSITObject
cvCreateSeq
cvCreateSet
cvCreateSparseMat
cvCreateStructuringElementEx
cvCreateSubdivDelaunay2D
cvCreateTrackbar
cvCreateVideoWriter
cvCrossProduct
cvCvtColor
cvCvtScale
cvCvtSeqToArray
cvDCT
cvDFT
cvDecRefData
cvDeleteMoire
cvDestroyAllWindows
cvDestroyWindow
cvDet
cvDilate
cvDistTransform
cvDiv
cvDotProduct
cvDrawChessBoardCorners
cvDrawContours
cvDynamicCorrespondMulti
cvEViterbi
cvEigenDecomposite
cvEigenProjection
cvEigenVV
cvEllipse
cvEllipse2Poly
cvEllipseBox
cvEndFindContours
cvEndWriteSeq
cvEndWriteStruct
cvEqualizeHist
cvErode
cvError
cvErrorStr
cvEstimateHMMStateParams
cvEstimateObsProb
cvEstimateTransProb
cvExp
cvFastArctan
cvFillConvexPoly
cvFillPoly
cvFilter2D
cvFindChessboardCorners
cvFindContours
cvFindCornerSubPix
cvFindExtrinsicCameraParams2
cvFindFundamentalMat
cvFindGraphEdge
cvFindGraphEdgeByPtr
cvFindHomography
cvFindNearestPoint2D
cvFindNextContour
cvFindRuns
cvFindStereoCorrespondence
cvFindType
cvFirstType
cvFitEllipse2
cvFitLine2D
cvFlip
cvFloodFill
cvFlushSeqWriter
cvFree
cvGEMM
cvGet1D
cvGet2D
cvGet3D
cvGetND
cvGetAffineTransform
cvGetCaptureProperty
cvGetCentralMoment
cvGetCol
cvGetCols
cvGetDiag
cvGetDims
cvGetElemType
cvGetErrMode
cvGetErrStatus
cvGetFileNode
cvGetFileNodeByName
cvGetFileNodeName
cvGetGraphVtx
cvGetHashedKey
cvGetHistValue_1D
cvGetHistValue_2D
cvGetHistValue_3D
cvGetHistValue_nD
cvGetHuMoments
cvGetImage
cvGetImageCOI
cvGetImageROI
cvGetMat
cvGetMinMaxHistValue
cvGetModuleInfo
cvGetNextSparseNode
cvGetNormalizedCentralMoment
cvGetNumThreads
cvGetOptimalDFTSize
cvGetPerspectiveTransform
cvGetQuadrangleSubPix
cvGetRawData
cvGetReal1D
cvGetReal2D
cvGetReal3D
cvGetRealND
cvGetRectSubPix
cvGetRootFileNode
cvGetRow
cvGetRows
cvGetSeqElem
cvGetSeqReaderPos
cvGetSetElem
cvGetSize
cvGetSpatialMoment
cvGetSubRect
cvGetTextSize
cvGetThreadNum
cvGetTickCount
cvGetTickFrequency
cvGetTrackbarPos
cvGetWindowHandle
cvGetWindowName
cvGoodFeaturesToTrack
cvGrabFrame
cvGraphAddEdge
cvGraphAddEdgeByPtr
cvGraphAddVtx
cvGraphEdgeIdx
cvGraphRemoveEdge
cvGraphRemoveEdgeByPtr
cvGraphRemoveVtx
cvGraphRemoveVtxByPtr
cvGraphVtxDegree
cvGraphVtxDegreeByPtr
cvGraphVtxIdx
cvGuiBoxReport
cvHaarDetectObjects
cvHoughCircles
cvHoughLines2
cvImgToObs_DCT
cvInRange
cvInRangeS
cvIncRefData
cvInitFont
cvInitImageHeader
cvInitLineIterator
cvInitMatHeader
cvInitMatNDHeader
cvInitMixSegm
cvInitSparseMatIterator
cvInitSystem
cvInitTreeNodeIterator
cvInitUndistortMap
cvInpaint
cvInsertNodeIntoTree
cvIntegral
cvInvSqrt
cvInvert
cvIsInf
cvIsNaN
cvKMeans2
cvKalmanCorrect
cvKalmanPredict
cvLUT
cvLaplace
cvLine
cvLoad
cvLoadHaarClassifierCascade
cvLoadImage
cvLog
cvLogPolar
cvMahalanobis
cvMakeAlphaScanlines
cvMakeHistHeaderForArray
cvMakeScanlines
cvMakeSeqHeaderForArray
cvMat
cvMatchContourTrees
cvMatchShapes
cvMatchTemplate
cvMax
cvMaxRect
cvMaxS
cvMeanShift
cvMemStorageAlloc
cvMemStorageAllocString
cvMerge
cvMin
cvMinAreaRect2
cvMinEnclosingCircle
cvMinMaxLoc
cvMinS
cvMixChannels
cvMixSegmL2
cvMoments
cvMorphEpilinesMulti
cvMorphologyEx
cvMoveWindow
cvMul
cvMulSpectrums
cvMulTransposed
cvMultiplyAcc
cvNamedWindow
cvNextGraphItem
cvNextTreeNode
cvNorm
cvNormalize
cvNormalizeHist
cvNot
cvNulDevReport
cvOpenFileStorage
cvOr
cvOrS
cvPOSIT
cvPerspectiveTransform
cvPointPolygonTest
cvPointSeqFromMat
cvPolarToCart
cvPolyLine
cvPostWarpImage
cvPow
cvPreCornerDetect
cvPrevTreeNode
cvPreWarpImage
cvProjectPCA
cvProjectPoints2
cvPtr1D
cvPtr2D
cvPtr3D
cvPtrND
cvPutText
cvPyrDown
cvPyrMeanShiftFiltering
cvPyrSegmentation
cvPyrUp
cvQueryFrame
cvQueryHistValue_1D
cvQueryHistValue_2D
cvQueryHistValue_3D
cvQueryHistValue_nD
cvRNG
cvRandArr
cvRandInt
cvRandReal
cvRandShuffle
cvRange
cvRead
cvReadByName
cvReadChainPoint
cvReadInt
cvReadIntByName
cvReadRawData
cvReadRawDataSlice
cvReadReal
cvReadRealByName
cvReadString
cvReadStringByName
cvRectangle
cvRedirectError
cvReduce
cvRegisterModule
cvRegisterType
cvRelease
cvRelease2DHMM
cvReleaseCapture
cvReleaseConDensation
cvReleaseData
cvReleaseFileStorage
cvReleaseGraphScanner
cvReleaseHaarClassifierCascade
cvReleaseHist
cvReleaseImage
cvReleaseImageHeader
cvReleaseKalman
cvReleaseMat
cvReleaseMatND
cvReleaseMemStorage
cvReleaseObsInfo
cvReleasePOSITObject
cvReleaseSparseMat
cvReleaseStructuringElement
cvReleaseVideoWriter
cvRemap
cvRemoveNodeFromTree
cvRepeat
cvResetImageROI
cvReshape
cvReshapeMatND
cvResize
cvResizeWindow
cvRestoreMemStoragePos
cvRetrieveFrame
cvRodrigues2
cvRound
cvRunHaarClassifierCascade
cvRunningAvg
cvSVBkSb
cvSVD
cvSampleLine
cvSave
cvSaveImage
cvSaveMemStoragePos
cvScale
cvScaleAdd
cvSegmentMotion
cvSeqElemIdx
cvSeqInsert
cvSeqInsertSlice
cvSeqInvert
cvSeqPartition
cvSeqPop
cvSeqPopFront
cvSeqPopMulti
cvSeqPush
cvSeqPushFront
cvSeqPushMulti
cvSeqRemove
cvSeqRemoveSlice
cvSeqSearch
cvSeqSlice
cvSeqSort
cvSet
cvSet1D
cvSet2D
cvSet3D
cvSetND
cvSetAdd
cvSetCaptureProperty
cvSetData
cvSetErrMode
cvSetErrStatus
cvSetHistBinRanges
cvSetIPLAllocators
cvSetIdentity
cvSetImageCOI
cvSetImageROI
cvSetImagesForHaarClassifierCascade
cvSetMemoryManager
cvSetMouseCallback
cvSetNew
cvSetNumThreads
cvSetReal1D
cvSetReal2D
cvSetReal3D
cvSetRealND
cvSetRemove
cvSetRemoveByPtr
cvSetSeqBlockSize
cvSetSeqReaderPos
cvSetTrackbarPos
cvSetZero
cvShowImage
cvSmooth
cvSnakeImage
cvSobel
cvSolveCubic
cvSplit
cvSqrt
cvSquareAcc
cvStartAppendToSeq
cvStartFindContours
cvStartNextStream
cvStartReadChainPoints
cvStartReadRawData
cvStartReadSeq
cvStartWriteSeq
cvStartWriteStruct
cvStdErrReport
cvSub
cvSubRS
cvSubS
cvSubdiv2DEdgeDst
cvSubdiv2DEdgeOrg
cvSubdiv2DGetEdge
cvSubdiv2DLocate
cvSubdiv2DRotateEdge
cvSubdivDelaunay2DInsert
cvSubstituteContour
cvSum
cvThreshHist
cvThreshold
cvTrace
cvTransform
cvTranspose
cvTreeToNodeSeq
cvTypeOf
cvUndistort2
cvUniformImgSegm
cvUnregisterType
cvUpdateMotionHistory
cvUseOptimized
cvWaitKey
cvWarpAffine
cvWarpPerspective
cvWatershed
cvWrite
cvWriteComment
cvWriteFileNode
cvWriteFrame
cvWriteInt
cvWriteRawData
cvWriteReal
cvWriteString
cvXor
cvXorS
cvmGet
cvmSet
error_handling_sample
error_macros