opencv

858
OpenCV Documentation Authors May 7, 2009

Transcript of opencv

OpenCV DocumentationAuthors May 7, 2009

2

Contents1 CXCORE 1.1 Basic Structures . . . . . . . 1.1.1 Basic Structures . . . CvPoint . . . . . . . . CvPoint2D32f . . . . . CvPoint3D32f . . . . . CvPoint2D64f . . . . . CvPoint3D64f . . . . . CvSize . . . . . . . . CvSize2D32f . . . . . CvRect . . . . . . . . CvScalar . . . . . . . CvTermCriteria . . . . CvMat . . . . . . . . . CvMatND . . . . . . . CvSparseMat . . . . . IplImage . . . . . . . . CvArr . . . . . . . . . 1.2 Operations on Arrays . . . . . 1.2.1 Initialization . . . . . . CreateImage . . . . . CreateImageHeader . ReleaseImageHeader ReleaseImage . . . . InitImageHeader . . . CloneImage . . . . . . SetImageCOI . . . . . GetImageCOI . . . . . SetImageROI . . . . . 5 5 5 5 5 6 7 7 8 8 9 9 10 11 12 13 13 16 16 16 16 17 18 18 19 20 20 21 21

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 ResetImageROI . . . . . . . . . . . GetImageROI . . . . . . . . . . . . . CreateMat . . . . . . . . . . . . . . . CreateMatHeader . . . . . . . . . . ReleaseMat . . . . . . . . . . . . . . InitMatHeader . . . . . . . . . . . . Mat . . . . . . . . . . . . . . . . . . CloneMat . . . . . . . . . . . . . . . CreateMatND . . . . . . . . . . . . . CreateMatNDHeader . . . . . . . . ReleaseMatND . . . . . . . . . . . . InitMatNDHeader . . . . . . . . . . . CloneMatND . . . . . . . . . . . . . DecRefData . . . . . . . . . . . . . . IncRefData . . . . . . . . . . . . . . CreateData . . . . . . . . . . . . . . ReleaseData . . . . . . . . . . . . . SetData . . . . . . . . . . . . . . . . GetRawData . . . . . . . . . . . . . GetMat . . . . . . . . . . . . . . . . GetImage . . . . . . . . . . . . . . . CreateSparseMat . . . . . . . . . . ReleaseSparseMat . . . . . . . . . . CloneSparseMat . . . . . . . . . . . 1.2.2 Accessing Elements and sub-Arrays GetSubRect . . . . . . . . . . . . . . GetRow, GetRows . . . . . . . . . . GetCol, GetCols . . . . . . . . . . . GetDiag . . . . . . . . . . . . . . . . GetSize . . . . . . . . . . . . . . . . InitSparseMatIterator . . . . . . . . . GetNextSparseNode . . . . . . . . . GetElemType . . . . . . . . . . . . . GetDims, GetDimSize . . . . . . . . Ptr*D . . . . . . . . . . . . . . . . . Get*D . . . . . . . . . . . . . . . . . GetReal*D . . . . . . . . . . . . . . mGet . . . . . . . . . . . . . . . . . Set*D . . . . . . . . . . . . . . . . . SetReal*D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 22 23 24 24 25 26 27 27 28 29 29 30 30 31 31 32 33 33 34 35 36 36 37 37 37 38 39 40 41 41 42 43 43 44 45 46 46 47 48

CONTENTS mSet . . . . . . . . . . . . . . . . . ClearND . . . . . . . . . . . . . . . 1.2.3 Copying and Filling . . . . . . . . . Copy . . . . . . . . . . . . . . . . . Set . . . . . . . . . . . . . . . . . . SetZero . . . . . . . . . . . . . . . 1.2.4 Transforms and Permutations . . . Reshape . . . . . . . . . . . . . . ReshapeMatND . . . . . . . . . . Repeat . . . . . . . . . . . . . . . Flip . . . . . . . . . . . . . . . . . Split . . . . . . . . . . . . . . . . . Merge . . . . . . . . . . . . . . . . MixChannels . . . . . . . . . . . . 1.2.5 Arithmetic, Logic and Comparison LUT . . . . . . . . . . . . . . . . . ConvertScale . . . . . . . . . . . . ConvertScaleAbs . . . . . . . . . . Add . . . . . . . . . . . . . . . . . AddS . . . . . . . . . . . . . . . . AddWeighted . . . . . . . . . . . . Sub . . . . . . . . . . . . . . . . . SubS . . . . . . . . . . . . . . . . SubRS . . . . . . . . . . . . . . . Mul . . . . . . . . . . . . . . . . . Div . . . . . . . . . . . . . . . . . . And . . . . . . . . . . . . . . . . . AndS . . . . . . . . . . . . . . . . Or . . . . . . . . . . . . . . . . . . OrS . . . . . . . . . . . . . . . . . Xor . . . . . . . . . . . . . . . . . . XorS . . . . . . . . . . . . . . . . . Not . . . . . . . . . . . . . . . . . . Cmp . . . . . . . . . . . . . . . . . CmpS . . . . . . . . . . . . . . . . InRange . . . . . . . . . . . . . . . InRangeS . . . . . . . . . . . . . . Max . . . . . . . . . . . . . . . . . MaxS . . . . . . . . . . . . . . . . Min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 48 49 49 49 50 51 51 51 53 54 54 56 56 57 58 58 59 60 61 62 62 63 64 65 65 66 67 67 69 69 70 71 72 72 73 74 75 76 77 77

6 MinS . . . . . . . . . . AbsDiff . . . . . . . . AbsDiffS . . . . . . . . 1.2.6 Statistics . . . . . . . CountNonZero . . . . Sum . . . . . . . . . . Avg . . . . . . . . . . AvgSdv . . . . . . . . MinMaxLoc . . . . . . Norm . . . . . . . . . Reduce . . . . . . . . 1.2.7 Linear Algebra . . . . SetIdentity . . . . . . DotProduct . . . . . . CrossProduct . . . . . ScaleAdd . . . . . . . GEMM . . . . . . . . . Transform . . . . . . . PerspectiveTransform MulTransposed . . . . Trace . . . . . . . . . Transpose . . . . . . . Det . . . . . . . . . . . Invert . . . . . . . . . Solve . . . . . . . . . SVD . . . . . . . . . . SVBkSb . . . . . . . . EigenVV . . . . . . . . CalcCovarMatrix . . . Mahalonobis . . . . . 1.2.8 Math Functions . . . . Round, Floor, Ceil . . Sqrt . . . . . . . . . . InvSqrt . . . . . . . . Cbrt . . . . . . . . . . FastArctan . . . . . . IsNaN . . . . . . . . . IsInf . . . . . . . . . . CartToPolar . . . . . . PolarToCart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 79 79 80 80 81 81 82 83 83 84 85 85 86 87 87 88 89 90 91 92 92 93 93 94 95 97 98 99 100 101 101 102 102 103 103 104 105 105 106

CONTENTS Pow . . . . . . . . . . . . . . Exp . . . . . . . . . . . . . . Log . . . . . . . . . . . . . . SolveCubic . . . . . . . . . . 1.2.9 Random Number Generation RNG . . . . . . . . . . . . . . RandArr . . . . . . . . . . . . RandInt . . . . . . . . . . . . RandReal . . . . . . . . . . . 1.2.10 Discrete Transforms . . . . . DFT . . . . . . . . . . . . . . GetOptimalDFTSize . . . . . MulSpectrums . . . . . . . . DCT . . . . . . . . . . . . . . 1.3 Dynamic Structures . . . . . . . . . 1.3.1 Memory Storages . . . . . . CvMemStorage . . . . . . . . CvMemBlock . . . . . . . . . CvMemStoragePos . . . . . CreateMemStorage . . . . . CreateChildMemStorage . . ReleaseMemStorage . . . . ClearMemStorage . . . . . . MemStorageAlloc . . . . . . MemStorageAllocString . . . SaveMemStoragePos . . . . RestoreMemStoragePos . . . 1.3.2 Sequences . . . . . . . . . . CvSeq . . . . . . . . . . . . . CvSeqBlock . . . . . . . . . . CvSlice . . . . . . . . . . . . CreateSeq . . . . . . . . . . SetSeqBlockSize . . . . . . . SeqPush . . . . . . . . . . . SeqPop . . . . . . . . . . . . SeqPushFront . . . . . . . . SeqPopFront . . . . . . . . . SeqPushMulti . . . . . . . . . SeqPopMulti . . . . . . . . . SeqInsert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 107 108 108 109 110 110 110 112 114 114 114 118 118 119 120 120 120 121 121 122 122 124 124 125 125 126 127 127 127 130 130 131 132 133 134 134 135 136 136 137

8 SeqRemove . . . . . . . ClearSeq . . . . . . . . . GetSeqElem . . . . . . . SeqElemIdx . . . . . . . . CvtSeqToArray . . . . . . MakeSeqHeaderForArray SeqSlice . . . . . . . . . CloneSeq . . . . . . . . . SeqRemoveSlice . . . . . SeqInsertSlice . . . . . . SeqInvert . . . . . . . . . SeqSort . . . . . . . . . . SeqSearch . . . . . . . . StartAppendToSeq . . . . StartWriteSeq . . . . . . EndWriteSeq . . . . . . . FlushSeqWriter . . . . . . StartReadSeq . . . . . . GetSeqReaderPos . . . . SetSeqReaderPos . . . . 1.3.3 Sets . . . . . . . . . . . . CvSet . . . . . . . . . . . CreateSet . . . . . . . . . SetAdd . . . . . . . . . . SetRemove . . . . . . . . SetNew . . . . . . . . . . SetRemoveByPtr . . . . . GetSetElem . . . . . . . . ClearSet . . . . . . . . . . 1.3.4 Graphs . . . . . . . . . . CvGraph . . . . . . . . . CreateGraph . . . . . . . GraphAddVtx . . . . . . . GraphRemoveVtx . . . . GraphRemoveVtxByPtr . GetGraphVtx . . . . . . . GraphVtxIdx . . . . . . . GraphAddEdge . . . . . . GraphAddEdgeByPtr . . . GraphRemoveEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 139 139 140 141 141 142 143 144 144 145 145 147 148 148 149 150 150 152 152 153 153 154 155 155 156 157 157 158 158 158 160 160 161 162 162 163 163 164 165

CONTENTS GraphRemoveEdgeByPtr . . . . . . . . . . . . . . . . . . . . . . FindGraphEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . FindGraphEdgeByPtr . . . . . . . . . . . . . . . . . . . . . . . . GraphEdgeIdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . GraphVtxDegree . . . . . . . . . . . . . . . . . . . . . . . . . . . GraphVtxDegreeByPtr . . . . . . . . . . . . . . . . . . . . . . . . ClearGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CloneGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CvGraphScanner . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateGraphScanner . . . . . . . . . . . . . . . . . . . . . . . . NextGraphItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReleaseGraphScanner . . . . . . . . . . . . . . . . . . . . . . . 1.3.5 Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CV TREE NODE FIELDS . . . . . . . . . . . . . . . . . . . . . . CvTreeNodeIterator . . . . . . . . . . . . . . . . . . . . . . . . . InitTreeNodeIterator . . . . . . . . . . . . . . . . . . . . . . . . . NextTreeNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrevTreeNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . TreeToNodeSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . InsertNodeIntoTree . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveNodeFromTree . . . . . . . . . . . . . . . . . . . . . . . 1.4 Drawing Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Curves and Shapes . . . . . . . . . . . . . . . . . . . . . . . . . CV RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EllipseBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FillPoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FillConvexPoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . PolyLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PutText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTextSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Point Sets and Contours . . . . . . . . . . . . . . . . . . . . . . . DrawContours . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example: Connected component detection via contour functions InitLineIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 166 167 167 168 169 169 170 170 171 171 173 173 174 174 174 175 175 176 176 177 178 178 178 178 179 180 181 182 183 184 185 186 187 187 188 189 190 190 191 192

10 Example: Using line iterator to calculate the sum of pixel color line . . . . . . . . . . . . . . . . . . . . . . ClipLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ellipse2Poly . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Data Persistence and RTTI . . . . . . . . . . . . . . . . . . . . . 1.5.1 File Storage . . . . . . . . . . . . . . . . . . . . . . . . . . CvFileStorage . . . . . . . . . . . . . . . . . . . . . . . . CvFileNode . . . . . . . . . . . . . . . . . . . . . . . . . . CvAttrList . . . . . . . . . . . . . . . . . . . . . . . . . . . OpenFileStorage . . . . . . . . . . . . . . . . . . . . . . . ReleaseFileStorage . . . . . . . . . . . . . . . . . . . . . 1.5.2 Writing Data . . . . . . . . . . . . . . . . . . . . . . . . . StartWriteStruct . . . . . . . . . . . . . . . . . . . . . . . EndWriteStruct . . . . . . . . . . . . . . . . . . . . . . . . WriteInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . WriteReal . . . . . . . . . . . . . . . . . . . . . . . . . . . WriteString . . . . . . . . . . . . . . . . . . . . . . . . . . WriteComment . . . . . . . . . . . . . . . . . . . . . . . . StartNextStream . . . . . . . . . . . . . . . . . . . . . . . Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WriteRawData . . . . . . . . . . . . . . . . . . . . . . . . WriteFileNode . . . . . . . . . . . . . . . . . . . . . . . . 1.5.3 Reading Data . . . . . . . . . . . . . . . . . . . . . . . . . GetRootFileNode . . . . . . . . . . . . . . . . . . . . . . . GetFileNodeByName . . . . . . . . . . . . . . . . . . . . GetHashedKey . . . . . . . . . . . . . . . . . . . . . . . . Example: Reading an array of structures from le storage GetFileNode . . . . . . . . . . . . . . . . . . . . . . . . . GetFileNodeName . . . . . . . . . . . . . . . . . . . . . . ReadInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReadIntByName . . . . . . . . . . . . . . . . . . . . . . . ReadReal . . . . . . . . . . . . . . . . . . . . . . . . . . . ReadRealByName . . . . . . . . . . . . . . . . . . . . . . ReadString . . . . . . . . . . . . . . . . . . . . . . . . . . ReadStringByName . . . . . . . . . . . . . . . . . . . . . Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReadByName . . . . . . . . . . . . . . . . . . . . . . . . . ReadRawData . . . . . . . . . . . . . . . . . . . . . . . . StartReadRawData . . . . . . . . . . . . . . . . . . . . . ReadRawDataSlice . . . . . . . . . . . . . . . . . . . . .

CONTENTS values along . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . the . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

193 194 194 195 195 195 196 198 199 200 200 200 201 202 203 204 204 205 205 207 208 209 209 210 211 212 213 213 214 215 215 216 217 217 218 219 219 220 221

CONTENTS 1.5.4 RTTI and Generic Functions . . . . . . . . . . . . . . . . . . . . . . CvTypeInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RegisterType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnregisterType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FirstType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FindType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TypeOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Miscellaneous Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 Miscellaneous Functions . . . . . . . . . . . . . . . . . . . . . . . . CheckArr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . KMeans2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example: Clustering random samples of multi-gaussian distribution means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SeqPartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example: Partitioning a 2d point set . . . . . . . . . . . . . . . . . . 1.7 Error Handling and System Functions . . . . . . . . . . . . . . . . . . . . . 1.7.1 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ERROR Handling Macros . . . . . . . . . . . . . . . . . . . . . . . . Example: Use of Error Handling Macros . . . . . . . . . . . . . . . . GetErrStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetErrStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetErrMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetErrMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ErrorStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RedirectError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cvNulDevReport cvStdErrReport cvGuiBoxReport . . . . . . . . . . 1.7.2 System and Utility Functions . . . . . . . . . . . . . . . . . . . . . . Alloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTickCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetTickFrequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . RegisterModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetModuleInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UseOptimized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetMemoryManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . with k. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 222 222 222 223 223 224 224 225 225 226 227 227 227 227 228 230 232 233 234 234 235 236 238 238 239 239 240 240 241 242 243 243 243 244 244 245 246 247 247

12

CONTENTS SetIPLAllocators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

2 CvReference 2.1 Image Processing . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Gradients, Edges and Corners . . . . . . . . . . . . Sobel . . . . . . . . . . . . . . . . . . . . . . . . . . Laplace . . . . . . . . . . . . . . . . . . . . . . . . . Canny . . . . . . . . . . . . . . . . . . . . . . . . . . PreCornerDetect . . . . . . . . . . . . . . . . . . . . CornerEigenValsAndVecs . . . . . . . . . . . . . . . CornerMinEigenVal . . . . . . . . . . . . . . . . . . CornerHarris . . . . . . . . . . . . . . . . . . . . . . FindCornerSubPix . . . . . . . . . . . . . . . . . . . GoodFeaturesToTrack . . . . . . . . . . . . . . . . . ExtractSURF . . . . . . . . . . . . . . . . . . . . . . GetStarKeypoints . . . . . . . . . . . . . . . . . . . . 2.1.2 Sampling, Interpolation and Geometrical Transforms SampleLine . . . . . . . . . . . . . . . . . . . . . . . GetRectSubPix . . . . . . . . . . . . . . . . . . . . . GetQuadrangleSubPix . . . . . . . . . . . . . . . . . Resize . . . . . . . . . . . . . . . . . . . . . . . . . . WarpAfne . . . . . . . . . . . . . . . . . . . . . . . GetAfneTransform . . . . . . . . . . . . . . . . . . 2DRotationMatrix . . . . . . . . . . . . . . . . . . . . WarpPerspective . . . . . . . . . . . . . . . . . . . . GetPerspectiveTransform . . . . . . . . . . . . . . . Remap . . . . . . . . . . . . . . . . . . . . . . . . . LogPolar . . . . . . . . . . . . . . . . . . . . . . . . Example: Log-polar transformation . . . . . . . . . . 2.1.3 Morphological Operations . . . . . . . . . . . . . . . CreateStructuringElementEx . . . . . . . . . . . . . ReleaseStructuringElement . . . . . . . . . . . . . . Erode . . . . . . . . . . . . . . . . . . . . . . . . . . Dilate . . . . . . . . . . . . . . . . . . . . . . . . . . MorphologyEx . . . . . . . . . . . . . . . . . . . . . 2.1.4 Filters and Color Conversion . . . . . . . . . . . . . Smooth . . . . . . . . . . . . . . . . . . . . . . . . . Filter2D . . . . . . . . . . . . . . . . . . . . . . . . . CopyMakeBorder . . . . . . . . . . . . . . . . . . . . Integral . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

251 . 251 . 251 . 251 . 253 . 254 . 254 . 255 . 256 . 257 . 258 . 260 . 262 . 263 . 266 . 266 . 266 . 267 . 268 . 269 . 270 . 271 . 272 . 273 . 274 . 275 . 276 . 277 . 277 . 279 . 279 . 280 . 281 . 282 . 282 . 284 . 285 . 286

CONTENTS CvtColor . . . . . . . . . . . . . . . . . . . . . . Threshold . . . . . . . . . . . . . . . . . . . . . AdaptiveThreshold . . . . . . . . . . . . . . . . Pyramids and the Applications . . . . . . . . . PyrDown . . . . . . . . . . . . . . . . . . . . . PyrUp . . . . . . . . . . . . . . . . . . . . . . . PyrSegmentation . . . . . . . . . . . . . . . . . Connected Components and Contour Retrieval CvConnectedComp . . . . . . . . . . . . . . . FloodFill . . . . . . . . . . . . . . . . . . . . . . FindContours . . . . . . . . . . . . . . . . . . . StartFindContours . . . . . . . . . . . . . . . . FindNextContour . . . . . . . . . . . . . . . . . SubstituteContour . . . . . . . . . . . . . . . . EndFindContours . . . . . . . . . . . . . . . . . PyrMeanShiftFiltering . . . . . . . . . . . . . . Watershed . . . . . . . . . . . . . . . . . . . . Image and Contour moments . . . . . . . . . . Moments . . . . . . . . . . . . . . . . . . . . . GetSpatialMoment . . . . . . . . . . . . . . . . GetCentralMoment . . . . . . . . . . . . . . . . GetNormalizedCentralMoment . . . . . . . . . GetHuMoments . . . . . . . . . . . . . . . . . . Special Image Transforms . . . . . . . . . . . . HoughLines2 . . . . . . . . . . . . . . . . . . . HoughCircles . . . . . . . . . . . . . . . . . . . DistTransform . . . . . . . . . . . . . . . . . . . Inpaint . . . . . . . . . . . . . . . . . . . . . . . Histograms . . . . . . . . . . . . . . . . . . . . CvHistogram . . . . . . . . . . . . . . . . . . . CreateHist . . . . . . . . . . . . . . . . . . . . SetHistBinRanges . . . . . . . . . . . . . . . . ReleaseHist . . . . . . . . . . . . . . . . . . . . ClearHist . . . . . . . . . . . . . . . . . . . . . MakeHistHeaderForArray . . . . . . . . . . . . QueryHistValue nD . . . . . . . . . . . . . . . GetHistValue nD . . . . . . . . . . . . . . . . . GetMinMaxHistValue . . . . . . . . . . . . . . . NormalizeHist . . . . . . . . . . . . . . . . . . ThreshHist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 287 292 295 296 296 297 297 299 299 299 301 303 304 304 305 305 307 308 308 308 309 310 311 312 312 316 318 320 321 321 321 322 323 324 324 325 325 326 327 327

2.1.5

2.1.6

2.1.7

2.1.8

2.1.9

14 CompareHist . . . . . . . . . . . . . . . . . . . . . . . CopyHist . . . . . . . . . . . . . . . . . . . . . . . . . CalcHist . . . . . . . . . . . . . . . . . . . . . . . . . . CalcBackProject . . . . . . . . . . . . . . . . . . . . . CalcBackProjectPatch . . . . . . . . . . . . . . . . . . Back Project Calculation by Patches . . . . . . . . . . CalcProbDensity . . . . . . . . . . . . . . . . . . . . . EqualizeHist . . . . . . . . . . . . . . . . . . . . . . . 2.1.10 Matching . . . . . . . . . . . . . . . . . . . . . . . . . MatchTemplate . . . . . . . . . . . . . . . . . . . . . . MatchShapes . . . . . . . . . . . . . . . . . . . . . . . CalcEMD2 . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Structural Analysis . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Contour Processing Functions . . . . . . . . . . . . . ApproxChains . . . . . . . . . . . . . . . . . . . . . . StartReadChainPoints . . . . . . . . . . . . . . . . . . ReadChainPoint . . . . . . . . . . . . . . . . . . . . . ApproxPoly . . . . . . . . . . . . . . . . . . . . . . . . BoundingRect . . . . . . . . . . . . . . . . . . . . . . ContourArea . . . . . . . . . . . . . . . . . . . . . . . ArcLength . . . . . . . . . . . . . . . . . . . . . . . . . CreateContourTree . . . . . . . . . . . . . . . . . . . . ContourFromContourTree . . . . . . . . . . . . . . . . MatchContourTrees . . . . . . . . . . . . . . . . . . . 2.2.2 Computational Geometry . . . . . . . . . . . . . . . . MaxRect . . . . . . . . . . . . . . . . . . . . . . . . . CvBox2D . . . . . . . . . . . . . . . . . . . . . . . . . PointSeqFromMat . . . . . . . . . . . . . . . . . . . . BoxPoints . . . . . . . . . . . . . . . . . . . . . . . . . FitEllipse . . . . . . . . . . . . . . . . . . . . . . . . . FitLine . . . . . . . . . . . . . . . . . . . . . . . . . . . ConvexHull2 . . . . . . . . . . . . . . . . . . . . . . . CheckContourConvexity . . . . . . . . . . . . . . . . . CvConvexityDefect . . . . . . . . . . . . . . . . . . . . ConvexityDefects . . . . . . . . . . . . . . . . . . . . . PointPolygonTest . . . . . . . . . . . . . . . . . . . . . MinAreaRect2 . . . . . . . . . . . . . . . . . . . . . . Picture. Minimal-area bounding rectangle for contour . MinEnclosingCircle . . . . . . . . . . . . . . . . . . . . CalcPGH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 329 330 332 333 335 335 336 337 337 338 340 341 341 341 342 343 343 344 345 346 347 348 348 349 349 350 350 352 352 353 354 357 358 359 360 361 362 362 363

CONTENTS 2.2.3 Planar Subdivisions . . . . . . . . . . . CvSubdiv2D . . . . . . . . . . . . . . . CvQuadEdge2D . . . . . . . . . . . . . CvSubdiv2DPoint . . . . . . . . . . . . Subdiv2DGetEdge . . . . . . . . . . . . Subdiv2DRotateEdge . . . . . . . . . . Subdiv2DEdgeOrg . . . . . . . . . . . . Subdiv2DEdgeDst . . . . . . . . . . . . CreateSubdivDelaunay2D . . . . . . . . SubdivDelaunay2DInsert . . . . . . . . Subdiv2DLocate . . . . . . . . . . . . . FindNearestPoint2D . . . . . . . . . . . CalcSubdivVoronoi2D . . . . . . . . . . ClearSubdivVoronoi2D . . . . . . . . . . 2.3 Motion Analysis and Object Tracking Reference 2.3.1 Accumulation of Background Statistics . Acc . . . . . . . . . . . . . . . . . . . . SquareAcc . . . . . . . . . . . . . . . . MultiplyAcc . . . . . . . . . . . . . . . . RunningAvg . . . . . . . . . . . . . . . . 2.3.2 Motion Templates . . . . . . . . . . . . UpdateMotionHistory . . . . . . . . . . CalcMotionGradient . . . . . . . . . . . CalcGlobalOrientation . . . . . . . . . . SegmentMotion . . . . . . . . . . . . . . 2.3.3 Object Tracking . . . . . . . . . . . . . . MeanShift . . . . . . . . . . . . . . . . . CamShift . . . . . . . . . . . . . . . . . SnakeImage . . . . . . . . . . . . . . . 2.3.4 Optical Flow . . . . . . . . . . . . . . . CalcOpticalFlowHS . . . . . . . . . . . CalcOpticalFlowLK . . . . . . . . . . . . CalcOpticalFlowBM . . . . . . . . . . . CalcOpticalFlowPyrLK . . . . . . . . . . 2.3.5 Estimators . . . . . . . . . . . . . . . . CvKalman . . . . . . . . . . . . . . . . . CreateKalman . . . . . . . . . . . . . . ReleaseKalman . . . . . . . . . . . . . KalmanPredict . . . . . . . . . . . . . . KalmanCorrect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 364 364 365 366 366 367 368 368 369 369 370 371 372 372 373 373 373 373 374 375 376 376 377 378 379 380 380 380 381 383 383 384 385 386 388 388 390 390 391 392

16

CONTENTS Example. Using Kalman lter to track a rotating point . . . . . . . . . . . . . . CvConDensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateConDensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReleaseConDensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConDensInitSampleSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConDensUpdateByTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Pattern Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Object Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CvHaarFeature, CvHaarClassier, CvHaarStageClassier, CvHaarClassierCascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadHaarClassierCascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReleaseHaarClassierCascade . . . . . . . . . . . . . . . . . . . . . . . . . . HaarDetectObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetImagesForHaarClassierCascade . . . . . . . . . . . . . . . . . . . . . . RunHaarClassierCascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Camera Calibration and 3D Reconstruction . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 Pinhole Camera Model, Distortion . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Camera Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProjectPoints2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FindHomography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CalibrateCamera2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FindExtrinsicCameraParams2 . . . . . . . . . . . . . . . . . . . . . . . . . . StereoCalibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StereoRectify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StereoRectifyUncalibrated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rodrigues2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Undistort2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitUndistortMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InitUndistortRectifyMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UndistortPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FindChessboardCorners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DrawChessBoardCorners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RQDecomp3x3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DecomposeProjectionMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.3 Pose Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreatePOSITObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . POSIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReleasePOSITObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CalcImageHomography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.4 Epipolar Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 395 396 396 397 397 398 398 399 401 402 402 405 407 407 407 409 409 411 412 414 416 419 421 422 423 424 425 427 428 429 430 431 432 432 433 434 434 435

CONTENTS FindFundamentalMat . . . . . . . . . . . . . . . . . . . . . . . . . . . Example. Estimation of fundamental matrix using RANSAC algorithm ComputeCorrespondEpilines . . . . . . . . . . . . . . . . . . . . . . . ConvertPointsHomogenious . . . . . . . . . . . . . . . . . . . . . . . . CvStereoBMState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateStereoBMState . . . . . . . . . . . . . . . . . . . . . . . . . . . ReleaseStereoBMState . . . . . . . . . . . . . . . . . . . . . . . . . . FindStereoCorrespondenceBM . . . . . . . . . . . . . . . . . . . . . . CvStereoGCState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateStereoGCState . . . . . . . . . . . . . . . . . . . . . . . . . . . ReleaseStereoGCState . . . . . . . . . . . . . . . . . . . . . . . . . . FindStereoCorrespondenceGC . . . . . . . . . . . . . . . . . . . . . . ReprojectImageTo3D . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 CvAux 3.1 Stereo Correspondence Functions . . . . . . FindStereoCorrespondence . . . . . . 3.2 View Morphing Functions . . . . . . . . . . . MakeScanlines . . . . . . . . . . . . . PreWarpImage . . . . . . . . . . . . . FindRuns . . . . . . . . . . . . . . . . DynamicCorrespondMulti . . . . . . . MakeAlphaScanlines . . . . . . . . . . MorphEpilinesMulti . . . . . . . . . . . PostWarpImage . . . . . . . . . . . . DeleteMoire . . . . . . . . . . . . . . . 3.3 3D Tracking Functions . . . . . . . . . . . . . 3dTrackerCalibrateCameras . . . . . . 3dTrackerLocateObjects . . . . . . . . 3.4 Eigen Objects (PCA) Functions . . . . . . . . CalcCovarMatrixEx . . . . . . . . . . . CalcEigenObjects . . . . . . . . . . . CalcDecompCoeff . . . . . . . . . . . EigenDecomposite . . . . . . . . . . . EigenProjection . . . . . . . . . . . . . 3.5 Embedded Hidden Markov Models Functions CvHMM . . . . . . . . . . . . . . . . . CvImgObsInfo . . . . . . . . . . . . . Create2DHMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17 435 437 437 438 439 440 441 441 442 443 443 444 446 447 449 449 449 452 452 453 453 455 456 457 458 459 459 460 461 462 462 463 464 465 466 467 467 468 469

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

18 Release2DHMM . . . . . . CreateObsInfo . . . . . . . ReleaseObsInfo . . . . . . ImgToObs DCT . . . . . . . UniformImgSegm . . . . . . InitMixSegm . . . . . . . . EstimateHMMStateParams EstimateTransProb . . . . . EstimateObsProb . . . . . EViterbi . . . . . . . . . . . MixSegmL2 . . . . . . . . . 4 HighGui 4.0.1 HighGUI overview . . . . . 4.0.2 Simple GUI . . . . . . . . . NamedWindow . . . . . . . DestroyWindow . . . . . . . DestroyAllWindows . . . . ResizeWindow . . . . . . . MoveWindow . . . . . . . . GetWindowHandle . . . . . GetWindowName . . . . . ShowImage . . . . . . . . . CreateTrackbar . . . . . . . GetTrackbarPos . . . . . . SetTrackbarPos . . . . . . . SetMouseCallback . . . . . WaitKey . . . . . . . . . . . 4.0.3 Loading and Saving Images LoadImage . . . . . . . . . SaveImage . . . . . . . . . 4.0.4 Video IO functions . . . . . CvCapture . . . . . . . . . CaptureFromFile . . . . . . CaptureFromCAM . . . . . ReleaseCapture . . . . . . GrabFrame . . . . . . . . . RetrieveFrame . . . . . . . QueryFrame . . . . . . . . GetCaptureProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 470 471 471 472 473 474 475 475 476 476

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

479 . 479 . 479 . 479 . 480 . 480 . 481 . 481 . 482 . 482 . 483 . 484 . 485 . 485 . 486 . 487 . 488 . 488 . 489 . 490 . 490 . 490 . 491 . 491 . 492 . 492 . 493 . 493

CONTENTS SetCaptureProperty . . . . . CreateVideoWriter . . . . . . ReleaseVideoWriter . . . . . WriteFrame . . . . . . . . . . 4.0.5 Utility and System Functions InitSystem . . . . . . . . . . . ConvertImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19 494 495 496 497 497 497 498 499 499 499 499 500 500 501 502 502 503 503 504 504 506 506 506 507 508 508 508 509 510 511 513 513 514 515 516 517 518 518

5 Machine Learning 5.1 Introduction. Common classes and functions . 5.1.1 Statistical Models . . . . . . . . . . . . . StatModel . . . . . . . . . . . . . . . . . CvStatModel::CvStatModel . . . . . . . CvStatModel::CvStatModel(...) . . . . . CvStatModel:: CvStatModel . . . . . . . CvStatModel::clear . . . . . . . . . . . . CvStatModel::save . . . . . . . . . . . . CvStatModel::load . . . . . . . . . . . . CvStatModel::write . . . . . . . . . . . . CvStatModel::read . . . . . . . . . . . . CvStatModel::train . . . . . . . . . . . . CvStatModel::predict . . . . . . . . . . . 5.2 Normal Bayes Classier . . . . . . . . . . . . . CvNormalBayesClassier . . . . . . . . CvNormalBayesClassier::train . . . . . CvNormalBayesClassier::predict . . . 5.3 K Nearest Neighbors . . . . . . . . . . . . . . . CvKNearest . . . . . . . . . . . . . . . . CvKNearest::train . . . . . . . . . . . . CvKNearest::nd nearest . . . . . . . . Example. Classication of 2D samples k-nearest classier . . . . . . . 5.4 Support Vector Machines . . . . . . . . . . . . CvSVM . . . . . . . . . . . . . . . . . . CvSVMParams . . . . . . . . . . . . . . CvSVM::train . . . . . . . . . . . . . . . CvSVM::train auto . . . . . . . . . . . . CvSVM::get default grid . . . . . . . . . CvSVM::get params . . . . . . . . . . . CvSVM::get support vector* . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . from . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Gaussian mixture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . with . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . the . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20 5.5 Decision Trees . . . . . . . . . . . . . 5.5.1 Predicting with Decision Trees 5.5.2 Training Decision Trees . . . . 5.5.3 Variable importance . . . . . . CvDTreeSplit . . . . . . . . . . CvDTreeNode . . . . . . . . . CvDTreeParams . . . . . . . . CvDTreeTrainData . . . . . . . CvDTree . . . . . . . . . . . . . CvDTree::train . . . . . . . . . CvDTree::predict . . . . . . . . 5.6 Boosting . . . . . . . . . . . . . . . . . CvBoostParams . . . . . . . . CvBoostTree . . . . . . . . . . CvBoost . . . . . . . . . . . . . CvBoost::train . . . . . . . . . CvBoost::predict . . . . . . . . CvBoost::prune . . . . . . . . . CvBoost::get weak predictors . 5.7 Random Trees . . . . . . . . . . . . . CvRTParams . . . . . . . . . . CvRTrees . . . . . . . . . . . . CvRTrees::train . . . . . . . . . CvRTrees::predict . . . . . . . CvRTrees::get var importance CvRTrees::get proximity . . . . 5.8 Expectation-Maximization . . . . . . . CvEMParams . . . . . . . . . . CvEM . . . . . . . . . . . . . . CvEM::train . . . . . . . . . . . 5.9 Neural Networks . . . . . . . . . . . . CvANN MLP TrainParams . . . CvANN MLP . . . . . . . . . . CvANN MLP::create . . . . . . CvANN MLP::train . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 519 519 520 520 521 521 522 525 527 528 528 530 530 531 532 533 534 534 534 536 536 537 538 538 539 542 543 544 546 549 552 552 554 555

6 C++. Core 557 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 6.1.1 Namespace cv and Function Naming . . . . . . . . . . . . . . . . . . . . . . 559 6.1.2 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

CONTENTS 6.1.3 Memory Management Part II. Automatic Data Allocation 6.1.4 Algebraic Operations . . . . . . . . . . . . . . . . . . . . 6.1.5 Fast Element Access . . . . . . . . . . . . . . . . . . . 6.1.6 Saturation Arithmetics . . . . . . . . . . . . . . . . . . . 6.1.7 Error handling . . . . . . . . . . . . . . . . . . . . . . . 6.1.8 Threading and Reenterability . . . . . . . . . . . . . . . 6.2 The cxcore Reference . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Basic Structures . . . . . . . . . . . . . . . . . . . . . . DataType . . . . . . . . . . . . . . . . . . . . . . . . . . Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . Point3 . . . . . . . . . . . . . . . . . . . . . . . . . . . Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rect . . . . . . . . . . . . . . . . . . . . . . . . . . . . RotatedRect . . . . . . . . . . . . . . . . . . . . . . . . TermCriteria . . . . . . . . . . . . . . . . . . . . . . . . Vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalar . . . . . . . . . . . . . . . . . . . . . . . . . . . Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matrix Expressions . . . . . . . . . . . . . . . . . . . . . Mat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . MatND . . . . . . . . . . . . . . . . . . . . . . . . . . . SparseMat . . . . . . . . . . . . . . . . . . . . . . . . . SparseMat . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Basic Functions . . . . . . . . . . . . . . . . . . . . . . abs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . absdiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . addWeighted . . . . . . . . . . . . . . . . . . . . . . . . bitwise and . . . . . . . . . . . . . . . . . . . . . . . . . bitwise not . . . . . . . . . . . . . . . . . . . . . . . . . bitwise or . . . . . . . . . . . . . . . . . . . . . . . . . . bitwise xor . . . . . . . . . . . . . . . . . . . . . . . . . calcCovarMatrix . . . . . . . . . . . . . . . . . . . . . . cartToPolar . . . . . . . . . . . . . . . . . . . . . . . . . checkRange . . . . . . . . . . . . . . . . . . . . . . . . compare . . . . . . . . . . . . . . . . . . . . . . . . . . . completeSymm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21 562 563 563 564 565 565 565 565 565 567 568 569 570 572 572 573 575 575 576 579 587 588 591 595 597 603 604 604 605 606 607 607 608 609 609 610 612 612 613 614

22 convertScaleAbs . . . countNonZero . . . . cubeRoot . . . . . . . cvsrcToMat . . . . . . dct . . . . . . . . . . . dft . . . . . . . . . . . divide . . . . . . . . . determinant . . . . . . eigen . . . . . . . . . exp . . . . . . . . . . extractImageCOI . . . fastAtan2 . . . . . . . ip . . . . . . . . . . . gemm . . . . . . . . . getConvertElem . . . getOptimalDFTSize . idct . . . . . . . . . . . idft . . . . . . . . . . . inRange . . . . . . . . invert . . . . . . . . . log . . . . . . . . . . . LUT . . . . . . . . . . magnitude . . . . . . . Mahalanobis . . . . . max . . . . . . . . . . mean . . . . . . . . . meanStdDev . . . . . merge . . . . . . . . . min . . . . . . . . . . minMaxLoc . . . . . . mixChannels . . . . . mulSpectrums . . . . multiply . . . . . . . . mulTransposed . . . . norm . . . . . . . . . . normalize . . . . . . . PCA . . . . . . . . . . perspectiveTransform phase . . . . . . . . . polarToCart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 615 615 616 617 619 623 623 624 624 625 625 626 626 627 628 629 629 629 630 631 631 632 633 633 634 634 635 636 637 638 639 639 640 641 642 643 645 646 646

CONTENTS pow . . . . . . . . . . . randu . . . . . . . . . . randn . . . . . . . . . . randShufe . . . . . . . reduce . . . . . . . . . . repeat . . . . . . . . . . saturate cast . . . . . . scaleAdd . . . . . . . . setIdentity . . . . . . . . solve . . . . . . . . . . . solveCubic . . . . . . . solvePoly . . . . . . . . sort . . . . . . . . . . . sortIdx . . . . . . . . . . split . . . . . . . . . . . sqrt . . . . . . . . . . . subtract . . . . . . . . . SVD . . . . . . . . . . . sum . . . . . . . . . . . theRNG . . . . . . . . . trace . . . . . . . . . . . transform . . . . . . . . transpose . . . . . . . . 6.2.3 Drawing Operations . . circle . . . . . . . . . . . clipLine . . . . . . . . . ellipse . . . . . . . . . . ellipse2Poly . . . . . . . llConvexPoly . . . . . . llPoly . . . . . . . . . . getTextSize . . . . . . . line . . . . . . . . . . . . LineIterator . . . . . . . rectangle . . . . . . . . polylines . . . . . . . . . putText . . . . . . . . . 6.2.4 XML/YAML Persistence FileStorage . . . . . . . FileNode . . . . . . . . FileNodeIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23 647 648 648 649 649 650 650 651 652 652 653 653 654 654 655 656 656 657 658 658 658 659 659 660 660 661 661 663 663 664 664 665 666 667 668 668 669 669 670 671

24 6.2.5 Clustering and Search in Multi-Dimensional Spaces kmeans . . . . . . . . . . . . . . . . . . . . . . . . . partition . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.6 Fast Aproximate Nearest Neighbor Search . . . . . ann::Index . . . . . . . . . . . . . . . . . . . . . . . ann::Index::Index . . . . . . . . . . . . . . . . . . . ann::Index::knnSearch . . . . . . . . . . . . . . . . ann::Index::knnSearch . . . . . . . . . . . . . . . . ann::Index::radiusSearch . . . . . . . . . . . . . . . ann::Index::radiusSearch . . . . . . . . . . . . . . . ann::Index::save . . . . . . . . . . . . . . . . . . . . ann::hierarchicalClustering . . . . . . . . . . . . . . 6.2.7 Utility and System Functions and Macros . . . . . . alignPtr . . . . . . . . . . . . . . . . . . . . . . . . . alignSize . . . . . . . . . . . . . . . . . . . . . . . . allocate . . . . . . . . . . . . . . . . . . . . . . . . . allocate . . . . . . . . . . . . . . . . . . . . . . . . . CV Assert . . . . . . . . . . . . . . . . . . . . . . . . error . . . . . . . . . . . . . . . . . . . . . . . . . . . Exception . . . . . . . . . . . . . . . . . . . . . . . . fastMalloc . . . . . . . . . . . . . . . . . . . . . . . . fastFree . . . . . . . . . . . . . . . . . . . . . . . . . format . . . . . . . . . . . . . . . . . . . . . . . . . . getNumThreads . . . . . . . . . . . . . . . . . . . . getThreadNum . . . . . . . . . . . . . . . . . . . . . getTickCount . . . . . . . . . . . . . . . . . . . . . . getTickFrequency . . . . . . . . . . . . . . . . . . . setNumThreads . . . . . . . . . . . . . . . . . . . . 7 C++. Image Processing and Computer Vision 7.1 The cv Reference . . . . . . . . . . . . . . . 7.1.1 Image Filtering . . . . . . . . . . . . BaseColumnFilter . . . . . . . . . . BaseFilter . . . . . . . . . . . . . . . BaseRowFilter . . . . . . . . . . . . FilterEngine . . . . . . . . . . . . . . bilateralFilter . . . . . . . . . . . . . blur . . . . . . . . . . . . . . . . . . borderInterpolate . . . . . . . . . . . boxFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 672 673 674 674 675 677 678 679 679 680 680 680 680 681 681 681 682 682 683 683 683 684 684 684 685 685 685

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

687 . 687 . 687 . 688 . 688 . 689 . 690 . 695 . 696 . 696 . 697

CONTENTS buildPyramid . . . . . . . . . . . . copyMakeBorder . . . . . . . . . . createBoxFilter . . . . . . . . . . . createDerivFilter . . . . . . . . . . createGaussianFilter . . . . . . . . createLinearFilter . . . . . . . . . . createMorphologyFilter . . . . . . createSeparableLinearFilter . . . . dilate . . . . . . . . . . . . . . . . erode . . . . . . . . . . . . . . . . lter2D . . . . . . . . . . . . . . . GaussianBlur . . . . . . . . . . . . getDerivKernels . . . . . . . . . . getGaussianKernel . . . . . . . . . getKernelType . . . . . . . . . . . getStructuringElement . . . . . . . medianBlur . . . . . . . . . . . . . morphologyEx . . . . . . . . . . . Laplacian . . . . . . . . . . . . . . pyrDown . . . . . . . . . . . . . . pyrUp . . . . . . . . . . . . . . . . sepFilter2D . . . . . . . . . . . . . Scharr . . . . . . . . . . . . . . . . 7.1.2 Geometric Image Transformations convertMaps . . . . . . . . . . . . getAfneTransform . . . . . . . . . getPerspectiveTransform . . . . . getRectSubPix . . . . . . . . . . . getRotationMatrix2D . . . . . . . . initUndistortRectifyMap . . . . . . invertAfneTransform . . . . . . . remap . . . . . . . . . . . . . . . . resize . . . . . . . . . . . . . . . . undistort . . . . . . . . . . . . . . . warpAfne . . . . . . . . . . . . . warpPerspective . . . . . . . . . . 7.1.3 Image Analysis . . . . . . . . . . . adaptiveThreshold . . . . . . . . . Canny . . . . . . . . . . . . . . . . cvtColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25 698 698 699 700 701 701 702 703 704 705 706 707 708 708 709 710 710 711 712 713 713 714 716 717 717 718 719 719 720 721 722 722 723 724 725 726 726 726 728 728

26 distanceTransform . . . . . . . . . . . . . . oodFill . . . . . . . . . . . . . . . . . . . . inpaint . . . . . . . . . . . . . . . . . . . . . integral . . . . . . . . . . . . . . . . . . . . threshold . . . . . . . . . . . . . . . . . . . watershed . . . . . . . . . . . . . . . . . . . Histograms . . . . . . . . . . . . . . . . . . calcHist . . . . . . . . . . . . . . . . . . . . calcBackProject . . . . . . . . . . . . . . . compareHist . . . . . . . . . . . . . . . . . equalizeHist . . . . . . . . . . . . . . . . . . Feature Detection . . . . . . . . . . . . . . cornerEigenValsAndVecs . . . . . . . . . . cornerHarris . . . . . . . . . . . . . . . . . cornerMinEigenVal . . . . . . . . . . . . . . cornerSubPix . . . . . . . . . . . . . . . . . goodFeaturesToTrack . . . . . . . . . . . . HoughCircles . . . . . . . . . . . . . . . . . HoughLines . . . . . . . . . . . . . . . . . . HoughLinesP . . . . . . . . . . . . . . . . . perCornerDetect . . . . . . . . . . . . . . . KeyPoint . . . . . . . . . . . . . . . . . . . MSER . . . . . . . . . . . . . . . . . . . . . SURF . . . . . . . . . . . . . . . . . . . . . StarDetector . . . . . . . . . . . . . . . . . Motion Analysis . . . . . . . . . . . . . . . . accumulate . . . . . . . . . . . . . . . . . . accumulateSquare . . . . . . . . . . . . . . accumulateProduct . . . . . . . . . . . . . . accumulateWeighted . . . . . . . . . . . . . calcOpticalFlowPyrLK . . . . . . . . . . . . calcOpticalFlowFarneback . . . . . . . . . . updateMotionHistory . . . . . . . . . . . . . calcMotionGradient . . . . . . . . . . . . . calcGlobalOrientation . . . . . . . . . . . . CamShift . . . . . . . . . . . . . . . . . . . meanShift . . . . . . . . . . . . . . . . . . . KalmanFilter . . . . . . . . . . . . . . . . . Structural Analysis and Shape Descriptors moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733 734 737 737 738 740 741 741 743 745 746 747 747 747 748 749 750 751 753 754 756 757 758 758 759 760 760 760 761 761 762 763 764 765 766 766 767 767 768 768

7.1.4

7.1.5

7.1.6

7.1.7

CONTENTS HuMoments . . . . . . . . . . . . . . . . . . ndContours . . . . . . . . . . . . . . . . . drawContours . . . . . . . . . . . . . . . . . approxPolyDP . . . . . . . . . . . . . . . . arcLength . . . . . . . . . . . . . . . . . . . boundingRect . . . . . . . . . . . . . . . . . estimateRigidTransform . . . . . . . . . . . estimateAfne3D . . . . . . . . . . . . . . . contourArea . . . . . . . . . . . . . . . . . . convexHull . . . . . . . . . . . . . . . . . . ndHomography . . . . . . . . . . . . . . . tEllipse . . . . . . . . . . . . . . . . . . . . tLine . . . . . . . . . . . . . . . . . . . . . isContourConvex . . . . . . . . . . . . . . . minAreaRect . . . . . . . . . . . . . . . . . minEnclosingCircle . . . . . . . . . . . . . . matchShapes . . . . . . . . . . . . . . . . . pointPolygonTest . . . . . . . . . . . . . . . 7.1.8 Object Detection . . . . . . . . . . . . . . . FeatureEvaluator . . . . . . . . . . . . . . . CascadeClassier . . . . . . . . . . . . . . groupRectangles . . . . . . . . . . . . . . . matchTemplate . . . . . . . . . . . . . . . . 7.1.9 Camera Calibration and 3D Reconstruction calibrateCamera . . . . . . . . . . . . . . . calibrationMatrixValues . . . . . . . . . . . composeRT . . . . . . . . . . . . . . . . . . computeCorrespondEpilines . . . . . . . . convertPointHomogeneous . . . . . . . . . decomposeProjectionMatrix . . . . . . . . . drawChessboardCorners . . . . . . . . . . ndFundamentalMat . . . . . . . . . . . . . ndChessboardCorners . . . . . . . . . . . getDefaultNewCameraMatrix . . . . . . . . initCameraMatrix2D . . . . . . . . . . . . . Rodrigues . . . . . . . . . . . . . . . . . . . RQDecomp3x3 . . . . . . . . . . . . . . . . matMulDeriv . . . . . . . . . . . . . . . . . projectPoints . . . . . . . . . . . . . . . . . reprojectImageTo3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27 769 770 772 773 774 774 775 775 776 776 777 779 779 781 781 781 782 783 784 784 784 786 786 788 790 792 793 794 794 795 796 796 798 799 800 800 801 801 802 803

28 solvePnP . . . . . . . . . stereoCalibrate . . . . . . stereoRectify . . . . . . . stereoRectifyUncalibrated StereoBM . . . . . . . . . undistortPoints . . . . . . 8 C++. HighGUI 8.1 The Reference . . . . . . . 8.1.1 User Interface . . . createTrackbar . . . getTrackbarPos . . . imshow . . . . . . . namedWindow . . . setTrackbarPos . . . waitKey . . . . . . . 8.1.2 Image and Video I/O imdecode . . . . . . imencode . . . . . . imread . . . . . . . . imwrite . . . . . . . VideoCapture . . . . VideoWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804 804 807 809 810 810

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . .