About BBS

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

最終変更者: 怡土順一, 最終変更リビジョン: 490, 最終変更日時: 2009-08-31 16:40:37 +0900 (月, 31 8月 2009)


エラーハンドリングとシステム関数(Error Handling and System Functions)


エラーハンドリング(Error Handling)

OpenCV におけるエラーハンドリングは,IPL(Image Processing Library)と似ている. エラーが発生した場合でも,関数はエラーコードを返さない. その代わり,エラーステータスをcvSetErrStatusを用いてセットし, 標準またはユーザ定義のエラーハンドラ(メッセージボックスの表示や,ログに書き込む,など. cvRedirectErrorcvNulDevReport, cvStdErrReport, cvGuiBoxReportを参照) を呼び出す関数cvErrorを呼ぶマクロCV_ERROR を用いてエラーの通知を行う. 各プログラムスレッドについて,それぞれ一つずつ,現在のエラーステータス(一つの整数値)を持つグローバル変数が存在する. このエラーステータスは,関数 cvGetErrStatus を用いて取り出すことが可能である.

エラーハンドリングには,以下の三つのモードが存在する(cvSetErrModecvGetErrMode を参照).

Leaf
プログラムはエラーハンドラを呼び出した後,途中終了する.デフォルト.エラー発生後,直ちに通知されるので,デバッグ時に有効. しかし,製品(完成版の)システムでは,他の二つのモードの使用が制御しやすいので好ましい.
Parent
プログラムは途中終了しないが,エラーハンドラが呼び出される.スタックは巻き戻されない(C++の例外処理を用いないため). ユーザはCxCoreの関数cvGetErrStatusを呼び出し,エラーコードをチェックし,対処を行わなければならない.
Silent
Parentモードとほぼ同じだが,エラーハンドラは呼び出されない.

実際は,モードLeafParent の動作はエラーハンドラによって実装される. 上記の説明はcvNulDevReport, cvStdErrReport に関しては正しい. cvGuiBoxReport は多少異なった動作をし,さらに, カスタマイズされたエラーハンドラは,全く違う動作の実装になる可能性がある.


ERROR Handling Macros

エラー表示やチェックなどの機能をもつマクロ群

/* 関数内の処理ステートメントを挟み,それらをプロローグ(リソースの初期化部)とエピローグ
   (確保されたリソースの解放部)から分離する特別なマクロ */
#define __BEGIN__       {
#define __END__         goto exit; exit: ; }
/* 「リソース解放ステージ」へ進む */
#define EXIT            goto exit

/* CV_ERROR() で使用する関数名をローカルに定義する */
#define CV_FUNCNAME( Name )  ¥
    static char cvFuncName[] = Name

/* 現状のエラーを報告する */
#define CV_ERROR( Code, Msg )                                       ¥
{                                                                   ¥
     cvError( (Code), cvFuncName, Msg, __FILE__, __LINE__ );        ¥
     EXIT;                                                          ¥
}

/* CXCOREの関数呼び出しの後の状態をチェックする */
#define CV_CHECK()                                                  ¥
{                                                                   ¥
    if( cvGetErrStatus() < 0 )                                   ¥
        CV_ERROR( CV_StsBackTrace, "Inner function failed." );      ¥
}

/* CXCOREの関数呼び出しとCV_CHECK()呼び出しの簡略表現 */
#define CV_CALL( Statement )                                        ¥
{                                                                   ¥
    Statement;                                                      ¥
    CV_CHECK();                                                     ¥
}

/* デバッグモードとリリースモード両方に対応した状態チェック */
#define CV_ASSERT( Condition )                                          ¥
{                                                                       ¥
    if( !(Condition) )                                                  ¥
        CV_ERROR( CV_StsInternal, "Assertion: " #Condition " failed" ); ¥
}

/* これらのマクロは,それぞれ対応するマクロCV_... と似ているが,
   終了ラベルも定義用のcvFuncNameも必要としない */
#define OPENCV_ERROR(status,func_name,err_msg) ...
#define OPENCV_ERRCHK(func_name,err_msg) ...
#define OPENCV_ASSERT(condition,func_name,err_msg) ...
#define OPENCV_CALL(statement) ...
ここでは,詳細な説明の代わりに,代表的なCXCOREの関数とその使用方法を示す.

エラーハンドリングマクロの使用方法

#include "cxcore.h"
#include <stdio.h>

void cvResizeDCT( CvMat* input_array, CvMat* output_array )
{
    CvMat* temp_array = 0; // いずれ解放されるべきポインタの宣言.

    CV_FUNCNAME( "cvResizeDCT" ); // cvFuncNameの宣言

    __BEGIN__; // 処理の開始.このマクロの直後に何らかの宣言があるかもしれないが,
               // それらは,エピローグ部からはアクセスできない.

    if( !CV_IS_MAT(input_array) || !CV_IS_MAT(output_array) )
        // エラー表示の為に CV_ERROR() を用いる
        CV_ERROR( CV_StsBadArg, "input_array or output_array are not valid matrices" );

    // 後のバージョンで削除されるいくつかの制限事項,CV_ASSERT() でチェックされるかもしれない
    CV_ASSERT( input_array->rows == 1 && output_array->rows == 1 );

    // 安全な関数呼び出しのために CV_CALL を用いる
    CV_CALL( temp_array = cvCreateMat( input_array->rows, MAX(input_array->cols,output_array->cols),
                                       input_array->type ));

    if( output_array->cols > input_array->cols )
        CV_CALL( cvZero( temp_array ));

    temp_array->cols = input_array->cols;
    CV_CALL( cvDCT( input_array, temp_array, CV_DXT_FORWARD ));
    temp_array->cols = output_array->cols;
    CV_CALL( cvDCT( temp_array, output_array, CV_DXT_INVERSE ));
    CV_CALL( cvScale( output_array, output_array, ¥
	     1./sqrt((double)input_array->cols*output_array->cols), 0 ));

    __END__; // 処理の終了.エピローグはkのマクロの後に書く.

    // temp_array を解放する.エラーが発生する前に temp_array の領域確保が終わっていない場合,
    // cvRleaseMatが処理を行う.今回のような場合は,なにもしない.
    cvReleaseMat( &temp_array );
}


int main( int argc, char** argv )
{
    CvMat* src = cvCreateMat( 1, 512, CV_32F );
#if 1 /* エラーなし */
    CvMat* dst = cvCreateMat( 1, 256, CV_32F );
#else
    CvMat* dst = 0; /* エラー処理のメカニズムをテストする */
#endif
    cvSet( src, cvRealScalar(1.), 0 );
#if 0 /* エラーハンドラの起動をしないようにするためには 0 から 1 へ変更する */
    cvSetErrMode( CV_ErrModeSilent );
#endif
    cvResizeDCT( src, dst ); // エラーが発生した場合,メッセージボックスがポップアップするか,
                             // メッセージがログに書き込まれるか,あるいはユーザー定義の処理が行われる
    if( cvGetErrStatus() < 0 )
        printf("Some error occurred" );
    else
        printf("Everything is OK" );
    return 0;
}

GetErrStatus

現在のエラーステータスを返す

int cvGetErrStatus( void );

関数 cvGetErrStatus は,現在のエラーステータスを返す. そのステータス値は,直前の関数cvSetErrStatus呼び出しによってセットされる. Leafモードの場合は,エラー発生後,直ちにプログラムが途中終了するので,関数呼出し後も常に制御可能にしておくためには, cvSetErrModeでエラーモードをParentSilentにセットしておくべきであることに注意する.


SetErrStatus

エラーステータスをセットする

void cvSetErrStatus( int status );

status
エラーステータス.

関数 cvSetErrStatus は,エラーステータスを指定された値にセットする. ほとんどの場合,この関数はエラー処理を行った後にエラーステータスをリセットする(CV_StsOkをセットする)ために用いられる. その他の場合は,cvError あるいは CV_ERROR を呼び出すのが一般的である.


GetErrMode

現在のエラーモードを返す

int cvGetErrMode( void );

関数cvGetErrMode は,現在のエラーモードを返す. モード値は,直前の関数 cvSetErrMode 呼び出しによってセットされる.


SetErrMode

エラーモードをセットする

#define CV_ErrModeLeaf    0
#define CV_ErrModeParent  1
#define CV_ErrModeSilent  2
int cvSetErrMode( int mode );

mode
エラーモード.

関数 cvSetErrMode は,指定されたエラーモードをセットする. エラーモードの違いに関しては,このセクションの初めの部分を参照.


Error

エラーを発生させる

int cvError( int status, const char* func_name,
             const char* err_msg, const char* file_name, int line );

status
エラーステータス.
func_name
エラーが発生した関数名.
err_msg
エラーについての追加情報/診断結果.
file_name
エラーが発生したファイル名.
line
エラーが発生した行番号.

関数 cvError は,(cvSetErrStatusを用いて) エラーステータスを指定の値にセットする.さらにエラーモードがSilent以外の場合は,エラーハンドラを呼び出す.


ErrorStr

エラーステータスのコードのテキスト情報を返す

const char* cvErrorStr( int status );

status
エラーステータス.

関数 cvErrorStr は,指定したエラーステータスコードのテキスト記述を返す. 不明なステータスの場合はNULLポインタを返す.


RedirectError

新しいエラーハンドラをセットする

typedef int (CV_CDECL *CvErrorCallback)( int status, const char* func_name,
                    const char* err_msg, const char* file_name, int line );

CvErrorCallback cvRedirectError( CvErrorCallback error_handler,
                                 void* userdata=NULL, void** prev_userdata=NULL );

error_handler
新しいエラーハンドラ.
userdata
エラーハンドラへの引数として渡される任意のポインタ.
prev_userdata
あらかじめ割り当てられているユーザデータへのポインタのポインタ.

関数 cvRedirectError は,standard handlersの中の一つか, 特定のインタフェースを持つ独自のハンドラを新しいエラーハンドラにセットする. エラーハンドラは,関数cvErrorと同じパラメータを持つ. ハンドラが0以外の値を返した場合,プログラムは途中終了し,それ以外の場合は実行し続ける. エラーハンドラは,このような動作を決めるためにcvGetErrModeで現在のエラーモードを確認している.


cvNulDevReport cvStdErrReport cvGuiBoxReport

標準のエラーハンドリングを提供する

int cvNulDevReport( int status, const char* func_name,
                    const char* err_msg, const char* file_name,
                    int line, void* userdata );

int cvStdErrReport( int status, const char* func_name,
                    const char* err_msg, const char* file_name,
                    int line, void* userdata );

int cvGuiBoxReport( int status, const char* func_name,
                    const char* err_msg, const char* file_name,
                    int line, void* userdata );

status
エラーステータス.
func_name
エラーが発生した関数名.
err_msg
エラーについての追加情報/診断結果.
file_name
エラーが発生したファイル名.
line
エラーが発生した行番号.
userdata
ユーザーデータへのポインタ.標準ハンドラでは無視される.

関数 cvNullDevReport, cvStdErrReportcvGuiBoxReportは標準のエラーハンドリングを提供する. Win32でのデフォルトエラーハンドラはcvGuiBoxReportであり,他のシステムではcvStdErrReportとなる. cvGuiBoxReportはエラーメッセージを表示するメッセージボックスをポップアップさせ,さらにいくつかのオプションを提供する. 前述のsample codeでのメッセージボックスを用いたエラー処理の例を以下に示す.

エラーメッセージボックス

エラーメッセージボックス

エラーハンドラがcvStdErrReportにセットされている場合,前述のメッセージが標準エラー出力に出力され, その後プログラムはエラーモードに従って途中終了するか実行を継続する.

標準エラー出力へのエラーメッセージ出力(Leaf モード)

OpenCV ERROR: Bad argument (input_array or output_array are not valid matrices)
        in function cvResizeDCT, D:¥User¥VP¥Projects¥avl_proba¥a.cpp(75)
Terminating the application...

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::create
CvANN_MLP::train
CvANN_MLP_TrainParams
CvArr
CvAttrList
CvBoost
CvBoost::get_weak_predictors
CvBoost::predict
CvBoost::prune
CvBoost::train
CvBoostParams
CvBoostTree
CvBox2D
CvCapture
CvConDensation
CvConnectedComp
CvConvexityDefect
CvDTree
CvDTree::predict
CvDTree::train
CvDTreeNode
CvDTreeParams
CvDTreeSplit
CvDTreeTrainData
CvEM
CvEM::train
CvEMParams
CvFileNode
CvFileStorage
CvGraph
CvGraphScanner
CvHMM
CvHaarClassifier
CvHaarClassifierCascade
CvHaarFeature
CvHaarStageClassifier
CvHistogram
CvImgObsInfo
CvKNearest
CvKNearest::find_nearest
CvKNearest_train
CvKalman
CvMat
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
CvSVM::get_default_grid
CvSVM::get_params
CvSVM::get_support_vector
CvSVM::train
CvSVM::train_auto
CvSVMParams
CvScalar
CvSeq
CvSeqBlock
CvSet
CvSize
CvSize2D32f
CvSlice
CvSparseMat
CvStatModel
CvStatModel::CvStatModel
CvStatModel::CvStatModel(data)
CvStatModel::clear
CvStatModel::load
CvStatModel::predict
CvStatModel::read
CvStatModel::save
CvStatModel::train
CvStatModel::write
CvStatModel::~CvStatModel
CvStereoBMState
CvStereoGCState
CvSubdiv2D
CvSubdiv2DPoint
CvTermCriteria
CvTreeNodeIterator
CvTypeInfo
IplImage
RTreesOOBerror

cv2DRotationMatrix
cv3dTrackerCalibrateCameras
cv3dTrackerLocateObjects
cvAbs
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
cvCalibrationMatrixValues
cvCamShift
cvCanny
cvCartToPolar
cvCbrt
cvCheckArr
cvCheckArray
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
cvConvertPointsHomogeneous
cvConvertScale
cvConvertScaleAbs
cvConvexHull2
cvConvexityDefects
cvCopy
cvCopyHist
cvCopyMakeBorder
cvCornerEigenValsAndVecs
cvCornerHarris
cvCornerMinEigenVal
cvCountNonZero
cvCreate2DHMM
cvCreateCameraCapture
cvCreateChildMemStorage
cvCreateConDensation
cvCreateContourTree
cvCreateData
cvCreateFeatureTree
cvCreateFileCapture
cvCreateGraph
cvCreateGraphScanner
cvCreateHist
cvCreateImage
cvCreateImageHeader
cvCreateKalman
cvCreateMat
cvCreateMatHeader
cvCreateMatND
cvCreateMatNDHeader
cvCreateMemStorage
cvCreateObsInfo
cvCreatePOSITObject
cvCreateSeq
cvCreateSet
cvCreateSparseMat
cvCreateStereoBMState
cvCreateStereoGCState
cvCreateStructuringElementEx
cvCreateSubdivDelaunay2D
cvCreateTrackbar
cvCreateVideoWriter
cvCrossProduct
cvCvtColor
cvCvtPixToPlane
cvCvtPlaneToPix
cvCvtScale
cvCvtScaleAbs
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
cvExtractSURF
cvFastArctan
cvFillConvexPoly
cvFillPoly
cvFilter2D
cvFindChessboardCorners
cvFindContours
cvFindCornerSubPix
cvFindExtrinsicCameraParams2
cvFindFeatures
cvFindFeaturesBoxed
cvFindFundamentalMat
cvFindGraphEdge
cvFindGraphEdgeByPtr
cvFindHomography
cvFindNearestPoint2D
cvFindNextContour
cvFindRuns
cvFindStereoCorrespondence
cvFindStereoCorrespondenceBM
cvFindStereoCorrespondenceGC
cvFindType
cvFirstType
cvFitEllipse2
cvFitLine2D
cvFlip
cvFloodFill
cvFlushSeqWriter
cvFree
cvGEMM
cvGet1D
cvGet2D
cvGet3D
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
cvGetND
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
cvGraphFindEdge
cvGraphFindEdgeByPtr
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
cvInitUndistortRectifyMap
cvInpaint
cvInsertNodeIntoTree
cvIntegral
cvInv
cvInvSqrt
cvInvert
cvIsInf
cvIsNaN
cvKMeans2
cvKalmanCorrect
cvKalmanPredict
cvKalmanUpdateByMeasurement
cvKalmanUpdateByTime
cvLUT
cvLaplace
cvLine
cvLoad
cvLoadHaarClassifierCascade
cvLoadImage
cvLog
cvLogPolar
cvMahalanobis
cvMakeAlphaScanlines
cvMakeHistHeaderForArray
cvMakeScanlines
cvMakeSeqHeaderForArray
cvMat
cvMatMul
cvMatMulAdd
cvMatchContourTrees
cvMatchShapes
cvMatchTemplate
cvMax
cvMaxRect
cvMaxS
cvMeanShift
cvMemStorageAlloc
cvMemStorageAllocString
cvMerge
cvMin
cvMinAreaRect2
cvMinEnclosingCircle
cvMinMaxLoc
cvMinS
cvMirror
cvMixChannels
cvMixSegmL2
cvMoments
cvMorphEpilinesMulti
cvMorphologyEx
cvMoveWindow
cvMul
cvMulAddS
cvMulSpectrums
cvMulTransposed
cvMultiplyAcc
cvNamedWindow
cvNextGraphItem
cvNextTreeNode
cvNorm
cvNormalize
cvNormalizeHist
cvNot
cvNulDevReport
cvOpenFileStorage
cvOr
cvOrS
cvPOSIT
cvPerspectiveTransform
cvPointPolygonTest
cvPointSeqFromMat
cvPolarToCart
cvPolyLine
cvPostWarpImage
cvPow
cvPreCornerDetect
cvPreWarpImage
cvPrevTreeNode
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
cvReleaseFeatureTree
cvReleaseFileStorage
cvReleaseGraphScanner
cvReleaseHaarClassifierCascade
cvReleaseHist
cvReleaseImage
cvReleaseImageHeader
cvReleaseKalman
cvReleaseMat
cvReleaseMatND
cvReleaseMemStorage
cvReleaseObsInfo
cvReleasePOSITObject
cvReleaseSparseMat
cvReleaseStereoBMState
cvReleaseStereoGCState
cvReleaseStructuringElement
cvReleaseVideoWriter
cvRemap
cvRemoveNodeFromTree
cvRepeat
cvReprojectImageTo3D
cvResetImageROI
cvReshape
cvReshapeMatND
cvReshapeND
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
cvSetAdd
cvSetCaptureProperty
cvSetData
cvSetErrMode
cvSetErrStatus
cvSetHistBinRanges
cvSetIPLAllocators
cvSetIdentity
cvSetImageCOI
cvSetImageROI
cvSetImagesForHaarClassifierCascade
cvSetMemoryManager
cvSetMouseCallback
cvSetND
cvSetNew
cvSetNumThreads
cvSetReal1D
cvSetReal2D
cvSetReal3D
cvSetRealND
cvSetRemove
cvSetRemoveByPtr
cvSetSeqBlockSize
cvSetSeqReaderPos
cvSetTrackbarPos
cvSetZero
cvShowImage
cvSmooth
cvSnakeImage
cvSobel
cvSolveCubic
cvSolvePoly
cvSplit
cvSqrt
cvSquareAcc
cvStartAppendToSeq
cvStartFindContours
cvStartNextStream
cvStartReadChainPoints
cvStartReadRawData
cvStartReadSeq
cvStartWriteSeq
cvStartWriteStruct
cvStdErrReport
cvStereoCalibrate
cvStereoRectify
cvStereoRectifyUncalibrated
cvSub
cvSubRS
cvSubS
cvSubdiv2DEdgeDst
cvSubdiv2DEdgeOrg
cvSubdiv2DGetEdge
cvSubdiv2DLocate
cvSubdiv2DNextEdge
cvSubdiv2DRotateEdge
cvSubdivDelaunay2DInsert
cvSubstituteContour
cvSum
cvT
cvThreshHist
cvThreshold
cvTrace
cvTransform
cvTranspose
cvTreeToNodeSeq
cvTypeOf
cvUndistort2
cvUndistortPoints
cvUniformImgSegm
cvUnregisterType
cvUpdateMotionHistory
cvUseOptimized
cvWaitKey
cvWarpAffine
cvWarpPerspective
cvWarpPerspectiveQMatrix
cvWatershed
cvWrite
cvWriteComment
cvWriteFileNode
cvWriteFrame
cvWriteInt
cvWriteRawData
cvWriteReal
cvWriteString
cvXor
cvXorS
cvZero
cvmGet
cvmSet
error_handling_sample