About BBS

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

最終変更者: 怡土順一, 最終変更リビジョン: 498, 最終変更日時: 2009-09-20 00:42:33 +0900 (日, 20 9月 2009)


画像処理(Image Processing)

注釈:
この章では画像処理及び解析のための関数について述べる.ほとんどの関数はピクセルの2次元配列に対して実行される.OpenCVでは配列を「画像」として取り扱う.しかしその配列はIplImage形式である必要はなく,CvMat形式またはCvMatND形式でもよい.


ヒストグラム(Histograms)


CvHistogram

多次元ヒストグラムの構造体

typedef struct CvHistogram
{
    int     type;
    CvArr*  bins;
    float   thresh[CV_MAX_DIM][2]; /* 一様分布ヒストグラム用の配列 */
    float** thresh2; /* 非一様分布ヒストグラム用の配列 */
    CvMatND mat; /* ヒストグラム配列用に組み込まれた行列のヘッダ */
}
CvHistogram;

CreateHist

ヒストグラムを生成する

CvHistogram* cvCreateHist( int dims, int* sizes, int type,
                           float** ranges=NULL, int uniform=1 );

dims
ヒストグラムの次元数.
sizes
ヒストグラム各次元のサイズを示す配列.
type
ヒストグラム表現フォーマット.CV_HIST_ARRAY は,ヒストグラムデータが多次元で密な配列CvMatNDで表現されていることを意味する. CV_HIST_SPARSE は,ヒストグラムデータが多次元で疎な配列 CvSparseMat で表現されていることを意味する.
ranges
ヒストグラムのビン(bin)(値域)を示す配列.このパラメータの意味はパラメータuniformに依存している.このレンジは,ヒストグラムを計算したり,またどのヒストグラムのビンが入力画像のどの値やどのデータ要素に対応するかを決めるためのバックプロジェクションで用いられる.
uniform
一様性に関するフラグ.非0の場合,ヒストグラムは等間隔のビンを持ち, 0<=i<dims の範囲のranges[i] は,それぞれi番目の次元のヒストグラムの下位と上位の境界を示す2つの値からなる配列である.各ヒストグラムのビンについて,i番目の入力タプル値のレンジを決めるために,[lower, upper]で表される全レンジは, sizes[i]個に等しく分割される.0の場合,ranges配列のi番目の要素は,lower0, upper0, lower1, upper1 == lower2, ..., uppersizes[i]-1というsizes[i]+1 個の要素を持つ.ここで,lowerj , upperjはj番目のビンに対するi番目の入力タプル値の上下の境界をそれぞれ表す.このフラグが0であろうとなかろうと,ヒストグラムのビンの指定された範囲を越えるような入力値は,cvCalcHist ではカウントされず,cvCalcBackProject では0で満たされる.

関数 cvCreateHist は,指定サイズのヒストグラムを生成し,そのヒストグラムのポインタを返す. 配列 ranges が 0 の場合は,ヒストグラムのビンは,後から関数 cvSetHistBinRanges を用いて決定される. しかし,cvCalcHistcvCalcBackProject においてはビンのレンジを設定せずに,8ビット画像を,0..255 の等間隔ビンであると仮定して処理する.


SetHistBinRanges

ヒストグラムのビンのレンジをセットする

void cvSetHistBinRanges( CvHistogram* hist, float** ranges, int uniform=1 );

hist
ヒストグラム.
ranges
ビンのレンジの配列.cvCreateHist参照.
uniform
一様性フラグ.cvCreateHist参照.

関数 cvSetHistBinRanges は,ヒストグラムのビンのレンジをセットする独立関数である. パラメータrangesuniform の詳しい説明は 関数 cvCalcHist を参照のこと.この関数ではレンジの初期化も可能である. ヒストグラムのビンのレンジは,ヒストグラムやバックプロジェクションの計算前にセットしておかなければならない.


ReleaseHist

ヒストグラムを解放する

void cvReleaseHist( CvHistogram** hist );

hist
解放するヒストグラムへのポインタのポインタ.

関数 cvReleaseHist は,ヒストグラム(ヘッダ・データ共)を解放する. ヒストグラムへのポインタは,この関数でクリアされる. ポインタ*hist が既にNULLである場合,この関数は何も行わない.


ClearHist

ヒストグラムをクリアする

void cvClearHist( CvHistogram* hist );

hist
ヒストグラム.

関数 cvClearHist は,密なヒストグラムの場合,全てのヒストグラムのビンを0にセットする, また疎なヒストグラムの場合は,すべてのヒストグラムのビンを削除する.


MakeHistHeaderForArray

配列からヒストグラムを作成する

CvHistogram* cvMakeHistHeaderForArray( int dims, int* sizes, CvHistogram* hist,
                                        float* data, float** ranges=NULL, int uniform=1 );

dims
ヒストグラムの次元数.
sizes
ヒストグラムの各次元のサイズの配列.
hist
ヒストグラムのヘッダ.この関数で初期化される.
data
ヒストグラムのビンを保存するための配列.
ranges
ヒストグラムのビンのレンジ.cvCreateHist参照.
uniform
一様性フラグ.cvCreateHist参照.

関数 cvMakeHistHeaderForArray は,ユーザによって領域確保されたヘッダとビンを持つヒストグラムを初期化する.最後に,関数 cvReleaseHist を呼び出す必要はない. 密なヒストグラムのみ,この方法で初期化する事が可能である.この関数は hist を返す.


QueryHistValue_*D

ヒストグラムのビンの値の問い合わせを行う

#define cvQueryHistValue_1D( hist, idx0 ) \
    cvGetReal1D( (hist)->bins, (idx0) )
#define cvQueryHistValue_2D( hist, idx0, idx1 ) \
    cvGetReal2D( (hist)->bins, (idx0), (idx1) )
#define cvQueryHistValue_3D( hist, idx0, idx1, idx2 ) \
    cvGetReal3D( (hist)->bins, (idx0), (idx1), (idx2) )
#define cvQueryHistValue_nD( hist, idx ) \
    cvGetRealND( (hist)->bins, (idx) )

hist
ヒストグラム.
idx0, idx1, idx2, idx3
ビンのインデックス.
idx
インデックスの配列.

マクロ cvQueryHistValue_*D は,1〜n次元ヒストグラムの指定されたビンの値を返す. 疎なヒストグラムの場合で,ビンがヒストグラムに存在せず,新しいビンも作成されない場合,この関数は0を返す.


GetHistValue_*D

ヒストグラムのビンへのポインタを返す

#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 ))

hist
ヒストグラム.
idx0, idx1, idx2, idx3
ビンのインデックス.
idx
インデックスの配列.

マクロ cvGetHistValue_*D は,1〜n次元ヒストグラムの指定されたビンへのポインタを返す. 疎なヒストグラムの場合で,既にビンが存在している場合以外は,この関数が新しいビンを作成し,0にセットする.


GetMinMaxHistValue

最大値,最小値を持つビンを求める

void cvGetMinMaxHistValue( const CvHistogram* hist,
                           float* min_value, float* max_value,
                           int* min_idx=NULL, int* max_idx=NULL );

hist
ヒストグラム.
min_value
ヒストグラムの最小値へのポインタ.
max_value
ヒストグラムの最大値へのポインタ.
min_idx
最小値の場所の配列へのポインタ.
max_idx
最大値の場所の配列へのポインタ.

関数 cvGetMinMaxHistValue ヒストグラムのビンの最小値/最大値とそれらの場所を求める. 出力引数のいくつかはオプションである.同じ値の最大値や最小値が複数存在する場合,辞書順に並べたときに最も先頭になるインデックスが返される.


NormalizeHist

ヒストグラムの正規化を行う

void cvNormalizeHist( CvHistogram* hist, double factor );

hist
ヒストグラムへのポインタ.
factor
正規化係数.

関数 cvNormalizeHist は,ビンの値の合計が factor に等しくなるようにスケーリングする事で,ヒストグラムのビンを正規化する.


ThreshHist

ヒストグラムの閾値処理を行う

void cvThreshHist( CvHistogram* hist, double threshold );

hist
ヒストグラムへのポインタ.
threshold
閾値レベル.

関数 cvThreshHist は,指定した閾値以下のヒストグラムのビンをクリアする.


CompareHist

二つの密なヒストグラムを比較する

double cvCompareHist( const CvHistogram* hist1, const CvHistogram* hist2, int method );

hist1
一番目の密なヒストグラム.
hist2
二番目の密なヒストグラム.
method
比較手法.以下のいずれか.
  • CV_COMP_CORREL
  • CV_COMP_CHISQR
  • CV_COMP_INTERSECT
  • CV_COMP_BHATTACHARYYA

関数 cvCompareHist は,以下に示すように,指定された手法を用いて二つの密なヒストグラムを比較する(ヒストグラム間の距離を求める). (H1 は,一番目のヒストグラムを,H2 は二番目のヒストグラムを それぞれ表す)

相関 (method=CV_COMP_CORREL):
d(H1,H2)=sumI(H'1(I)•H'2(I))/sqrt(sumI[H'1(I)2]•sumI[H'2(I)2])
ここで,
H'k(I)=Hk(I)-1/N•sumJHk(J) (N=ヒストグラムのビンの個数)

カイ二乗 (method=CV_COMP_CHISQR):
d(H1,H2)=sumI[(H1(I)-H2(I))/(H1(I)+H2(I))]

交差 (method=CV_COMP_INTERSECT):
d(H1,H2)=sumImin(H1(I),H2(I))

Bhattacharyya距離 (method=CV_COMP_BHATTACHARYYA):
d(H1,H2)=sqrt(1-sumI(sqrt(H1(I)•H2(I))))

この関数は,上で計算された値d(H1,H2)を返す.

注意:手法CV_COMP_BHATTACHARYYA は,正規化されたヒストグラムでのみ実行可能である.

疎なヒストグラム,あるいは重み付けされた点が集まったような,より一般的な構造を比較するためには, 関数cvCalcEMD2を用いる.


CopyHist

ヒストグラムのコピーを行う

void cvCopyHist( const CvHistogram* src, CvHistogram** dst );

src
コピー元のヒストグラム.
dst
コピー先のヒストグラムへのポインタ.

関数 cvCopyHist は,ヒストグラムのコピーを作成する. コピー先のヒストグラムへのポインタ*dstがNULLの場合は, srcと同じサイズの新しいヒストグラムが作成される. それ以外の場合は,二つのヒストグラムは同一タイプ,サイズでないといけない. この関数はコピー元のヒストグラムのビンの値を,コピー先にコピーし, src内に定義されているのと同じビンの値域をセットする.


CalcHist

画像(群)のヒストグラムを計算する

void cvCalcHist( IplImage** image, CvHistogram* hist,
                 int accumulate=0, const CvArr* mask=NULL );

image
入力画像群( CvMat** 形式でも構わない).全て同じサイズ・タイプ.
hist
ヒストグラムへのポインタ.
accumulate
計算フラグ.セットされている場合は,ヒストグラムは処理前には最初にクリアされない. この特徴により,ユーザが複数の画像から単一のヒストグラムを作成する事や,オンラインでヒストグラムを更新する事が可能である.
mask
処理マスク.入力画像中のどのピクセルをカウントするかを決定する.

関数 cvCalcHist は,一つ以上のシングルチャンネル画像からヒストグラムを計算する. ヒストグラムのビンを増加(インクリメント)するために用いられるタプルの各要素は, 対応する入力画像群の同じ場所から取り出される.

(例)カラー画像における色相−彩度の2次元ヒストグラムの計算と表示

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

int main( int argc, char** argv )
{
    IplImage* src;
    if( argc == 2 && (src=cvLoadImage(argv[1], 1))!= 0)
    {
        IplImage* h_plane = cvCreateImage( cvGetSize(src), 8, 1 );
        IplImage* s_plane = cvCreateImage( cvGetSize(src), 8, 1 );
        IplImage* v_plane = cvCreateImage( cvGetSize(src), 8, 1 );
        IplImage* planes[] = { h_plane, s_plane };
        IplImage* hsv = cvCreateImage( cvGetSize(src), 8, 3 );
        int h_bins = 30, s_bins = 32;
        int hist_size[] = {h_bins, s_bins};
        /* 色相は0(0度,赤)から180(360度,赤)まで変化する */
        float h_ranges[] = { 0, 180 };
        /* 彩度は0(黒-グレー-白)から255(純粋なスペクトル色)まで変化する */
        float s_ranges[] = { 0, 255 };
        float* ranges[] = { h_ranges, s_ranges };
        int scale = 10;
        IplImage* hist_img = cvCreateImage( cvSize(h_bins*scale,s_bins*scale), 8, 3 );
        CvHistogram* hist;
        float max_value = 0;
        int h, s;

        cvCvtColor( src, hsv, CV_BGR2HSV );
        cvCvtPixToPlane( hsv, h_plane, s_plane, v_plane, 0 );
        hist = cvCreateHist( 2, hist_size, CV_HIST_ARRAY, ranges, 1 );
        cvCalcHist( planes, hist, 0, 0 );
        cvGetMinMaxHistValue( hist, 0, &max_value, 0, 0 );
        cvZero( hist_img );

        for( h = 0; h < h_bins; h++ )
        {
            for( s = 0; s < s_bins; s++ )
            {
                float bin_val = cvQueryHistValue_2D( hist, h, s );
                int intensity = cvRound(bin_val*255/max_value);
                cvRectangle( hist_img, cvPoint( h*scale, s*scale ),
                             cvPoint( (h+1)*scale - 1, (s+1)*scale - 1),
                             /* グレースケールのヒストグラムを描画する. */
                             CV_RGB(intensity,intensity,intensity), 
                             CV_FILLED );
            }
        }

        cvNamedWindow( "Source", 1 );
        cvShowImage( "Source", src );

        cvNamedWindow( "H-S Histogram", 1 );
        cvShowImage( "H-S Histogram", hist_img );

        cvWaitKey(0);
    }
}

CalcBackProject

バックプロジェクションの計算を行う

void cvCalcBackProject( IplImage** image, CvArr* back_project, const CvHistogram* hist );

image
入力画像群( CvMat** 形式でも構わない).すべて同一サイズ,同一タイプ.
back_project
出力のバックプロジェクション画像.入力画像群と同じタイプ.
hist
ヒストグラム.

関数 cvCalcBackProject は, ヒストグラムのバックプロジェクションを計算する. すべての入力シングルチャンネル画像の同じ位置のピクセル群の各タプルについて, 関数はそのタプルに対応したヒストグラムのビンの値を出力画像のピクセル値としてセットする. 統計学的には,出力画像の各ピクセル値は, 与えられた分布(ヒストグラム)における観測タプルの出現確率であると言える. 例えば,画像中から赤いオブジェクトを見つけるためには,以下に示す方法がある.

  1. 画像にオブジェクトだけが写っていると仮定し,その赤いオブジェクトの色相に関するヒストグラムを計算する.このヒストグラムは赤に対応する最大値を持つ可能性が高い.
  2. ヒストグラムを用いてオブジェクトの位置を計算するために,入力画像の色相平面のバックプロジェクションを計算し,画像に対して閾値処理を行う.
  3. 閾値処理された2値画像中の連結成分を検索し,ある評価基準(例えば,最大サイズの連結成分など)に基づき,正しい連結成分を選び出す.
これは,3番目のステップ以外は,Camshiftカラーオブジェクトトラッカーのアルゴリズムとほぼ同じである. CAMSHIFTアルゴリズムは,以前のオブジェクトの位置が与えられた場合にバックプロジェクション中のオブジェクトの位置を求めるが, このアルゴリズムの代わりに用いることができる.


CalcBackProjectPatch

ヒストグラムの比較に基づき画像内部でのテンプレート位置を求める

void cvCalcBackProjectPatch( IplImage** images, CvArr* dst,
                             CvSize patch_size, CvHistogram* hist,
                             int method, float factor );

images
入力画像群( CvMat** 形式でも構わない).すべて同じサイズ.
dst
出力画像.
patch_size
入力画像群上をスライドさせるテンプレートのサイズ.
hist
テンプレートのヒストグラム.
method
比較方法.値は関数 cvCompareHist に渡される(この関数に関する記述を参照).
factor
ヒストグラムの正規化係数.出力画像の正規化スケールに影響する.値に確信がない場合は,1にする.

関数 cvCalcBackProjectPatch は,入力されたヒストグラムと, 入力画像 images における指定されたサイズの各矩形領域に関して計算されたヒストグラム, とを比較し,その結果を出力マップ dst に保存する.

擬似コードでは,この処理は以下のように表現できる.

for (x,y) in images (until (x+patch_size.width-1,y+patch_size.height-1) is inside the images) do
    画像中のROI (x,y,x+patch_size.width,y+patch_size.height) についてヒストグラムを計算する
       (cvCalcHist 参照)
    係数を用いてヒストグラムを正規化する
       (cvNormalizeHist 参照)
    正規化されたヒストグラムと入力ヒストグラムhistを指定された手法で比較する
       (cvCompareHist 参照)
    結果をdst(x,y)へ保存する
end for
これと類似した関数 cvMatchTemplate も参照のこと.

テンプレートによるバックプロジェクションの計算


CalcProbDensity

一つのヒストグラムをもう一方のヒストグラムで割る

void cvCalcProbDensity( const CvHistogram* hist1, const CvHistogram* hist2,
                         CvHistogram* dst_hist, double scale=255 );

hist1
一番目のヒストグラム(除数).
hist2
二番目のヒストグラム.
dst_hist
出力ヒストグラム.
scale
出力ヒストグラムのスケール係数.

関数 cvCalcProbDensity は,以下のように二つのヒストグラムからオブジェクトの確率密度を計算する.

hist1(I)==0 の場合                        dist_hist(I)=0
hist1(I)!=0 && hist2(I)>hist1(I) の場合                scale
hist1(I)!=0 && hist2(I)<=hist1(I) の場合               hist2(I)*scale/hist1(I)

出力ヒストグラムのビンの値は,scaleに等しいか小さくなる.


EqualizeHist

グレースケール画像のヒストグラムを均一化する.

void cvEqualizeHist( const CvArr* src, CvArr* dst );

src
入力画像.8ビットシングルチャンネル.
dst
出力画像.srcと同じサイズ・同じデータタイプ.

関数 cvEqualizeHist は以下のアルゴリズムを用いて,入力画像のヒストグラムを均一化する.

1. src に対して,ヒストグラム H を計算する.
2. ヒストグラムを,ビンの総和が255になるように正規化する
3. ヒストグラムの積分(総和)を以下のように計算する.
   H’(i) = sum0≤j≤iH(j)
4. ルックアップテーブル dst(x,y)=H’(src(x,y)) を用いて,入力画像を変換する

このアルゴリズムは輝度を均一化し,画像のコントラストを上げる.

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