opencv

856
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 . . . . . 29 29 29 29 29 30 31 31 32 32 33 33 34 35 36 37 37 40 40 40 40 41 42 42 43 44 44 45 45

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

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

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

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

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 46 47 48 48 49 50 51 51 52 53 53 54 54 55 55 56 57 57 58 59 60 60 61 61 61 62 63 64 65 65 66 67 67 68 69 70 70 71 72

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 72 73 73 73 74 75 75 75 77 78 78 80 80 81 82 82 83 84 85 86 86 87 88 89 89 90 91 91 93 93 94 95 96 96 97 98 99 100 101 101

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 103 103 104 104 105 105 106 107 107 108 109 109 110 111 111 112 113 114 115 116 116 117 117 118 119 121 122 123 124 125 125 126 126 127 127 128 129 129 130

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 131 132 132 133 134 134 134 136 138 138 138 142 142 143 144 144 144 145 145 146 146 148 148 149 149 150 151 151 151 154 154 155 156 157 158 158 159 160 160 161

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 163 163 164 165 165 166 167 168 168 169 169 171 172 172 173 174 174 176 176 177 177 178 179 179 180 181 181 182 182 182 184 184 185 186 186 187 187 188 189

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 190 191 191 192 193 193 194 194 195 195 197 197 198 198 198 199 199 200 200 201 202 202 202 202 203 204 205 206 207 208 209 210 211 211 212 213 214 214 215 216

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

217 218 218 219 219 219 220 222 223 224 224 224 225 226 227 228 228 229 229 231 232 233 233 234 235 236 237 237 238 239 239 240 241 241 242 243 243 244 245

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 246 246 246 247 247 248 248 249 249 250 251 251 251 251 252 254 256 257 258 258 259 260 262 262 263 263 264 264 265 266 267 267 267 268 268 269 270 271 271

12

CONTENTS SetIPLAllocators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

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 . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

275 . 275 . 275 . 275 . 277 . 278 . 278 . 279 . 280 . 281 . 282 . 284 . 286 . 287 . 290 . 290 . 290 . 291 . 292 . 293 . 294 . 295 . 296 . 297 . 298 . 299 . 300 . 301 . 301 . 303 . 303 . 304 . 305 . 306 . 306 . 308 . 309 . 310

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 311 316 319 320 320 321 321 323 323 323 325 327 328 328 329 329 331 332 332 332 333 334 335 336 336 340 342 344 345 345 345 346 347 348 348 349 349 350 351 351

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 353 354 356 357 359 359 360 361 361 362 364 365 365 365 366 367 367 368 369 370 371 372 372 373 373 374 374 376 376 377 378 381 382 383 384 385 386 386 387

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 388 388 389 390 390 391 392 392 393 393 394 395 396 396 397 397 397 397 398 399 400 400 401 402 403 404 404 404 405 407 407 408 409 410 412 412 414 414 415 416

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 419 420 420 421 421 422 422 423 425 426 426 429 431 431 431 433 433 435 436 438 440 443 445 446 447 448 449 450 452 453 454 455 456 456 457 458 458 459

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 459 461 461 462 463 464 465 465 466 467 467 468 470 471 473 473 473 476 476 477 477 479 480 481 482 483 483 484 485 486 486 487 488 489 490 491 491 492 493

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 I/O functions . . . . . CvCapture . . . . . . . . . CaptureFromFile . . . . . . CaptureFromCAM . . . . . ReleaseCapture . . . . . . GrabFrame . . . . . . . . . RetrieveFrame . . . . . . . QueryFrame . . . . . . . . GetCaptureProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 494 495 495 496 497 498 499 499 500 500

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

503 . 503 . 503 . 503 . 504 . 504 . 505 . 505 . 506 . 506 . 507 . 508 . 509 . 509 . 510 . 511 . 512 . 512 . 513 . 514 . 514 . 514 . 515 . 515 . 516 . 516 . 517 . 517

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

19 518 519 520 521 521 521 522 523 523 523 523 524 524 525 526 526 527 527 528 528 530 530 530 531 532 532 532 533 534 535 537 537 538 539 540 541 542 542

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 543 543 544 544 545 545 546 549 551 552 552 554 554 555 556 557 558 558 558 560 560 561 562 562 563 566 567 568 570 573 576 576 578 579

6 C++ Interface 581 6.1 CXCORE. Basic Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 6.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 6.1.2 Namespace cv and Function Naming . . . . . . . . . . . . . . . . . . . . . . 583

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

21 584 586 587 587 588 589 589 589 589 591 592 593 594 596 596 597 599 599 600 603 611 612 615 619 621 627 628 628 629 630 631 631 632 633 633 634 636 636 637 638

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638 639 639 640 641 643 647 647 648 648 649 649 650 650 651 652 653 653 653 654 655 655 656 657 657 658 658 659 660 661 662 663 663 664 665 666 667 669 670 670

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.1.12 Drawing Operations . . circle . . . . . . . . . . . clipLine . . . . . . . . . ellipse . . . . . . . . . . ellipse2Poly . . . . . . . llConvexPoly . . . . . . llPoly . . . . . . . . . . getTextSize . . . . . . . line . . . . . . . . . . . . LineIterator . . . . . . . rectangle . . . . . . . . polylines . . . . . . . . . putText . . . . . . . . . 6.1.13 XML/YAML Persistence FileStorage . . . . . . . FileNode . . . . . . . . FileNodeIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23 671 672 672 673 673 674 674 675 676 676 677 677 678 678 679 680 680 681 682 682 682 683 683 684 684 685 685 687 687 688 688 689 690 691 692 692 693 693 694 695

24 6.1.14 Clustering and Search in Multi-Dimensional Spaces kmeans . . . . . . . . . . . . . . . . . . . . . . . . . partition . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.15 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.1.16 Utility and System Functions and Macros . . . . . . alignPtr . . . . . . . . . . . . . . . . . . . . . . . . . alignSize . . . . . . . . . . . . . . . . . . . . . . . . allocate . . . . . . . . . . . . . . . . . . . . . . . . . allocate . . . . . . . . . . . . . . . . . . . . . . . . . CV Assert . . . . . . . . . . . . . . . . . . . . . . . . error . . . . . . . . . . . . . . . . . . . . . . . . . . . Exception . . . . . . . . . . . . . . . . . . . . . . . . fastMalloc . . . . . . . . . . . . . . . . . . . . . . . . fastFree . . . . . . . . . . . . . . . . . . . . . . . . . format . . . . . . . . . . . . . . . . . . . . . . . . . . getNumThreads . . . . . . . . . . . . . . . . . . . . getThreadNum . . . . . . . . . . . . . . . . . . . . . getTickCount . . . . . . . . . . . . . . . . . . . . . . getTickFrequency . . . . . . . . . . . . . . . . . . . setNumThreads . . . . . . . . . . . . . . . . . . . . 6.2 CV. Image Processing and Computer Vision . . . . . . . . . 6.2.1 Image Filtering . . . . . . . . . . . . . . . . . . . . . BaseColumnFilter . . . . . . . . . . . . . . . . . . . BaseFilter . . . . . . . . . . . . . . . . . . . . . . . . BaseRowFilter . . . . . . . . . . . . . . . . . . . . . FilterEngine . . . . . . . . . . . . . . . . . . . . . . . bilateralFilter . . . . . . . . . . . . . . . . . . . . . . blur . . . . . . . . . . . . . . . . . . . . . . . . . . . borderInterpolate . . . . . . . . . . . . . . . . . . . . boxFilter . . . . . . . . . . . . . . . . . . . . . . . . . buildPyramid . . . . . . . . . . . . . . . . . . . . . . copyMakeBorder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696 696 697 698 698 699 701 702 703 703 704 704 704 704 705 705 705 706 706 707 707 707 708 708 708 709 709 709 710 710 710 711 712 713 717 718 719 720 721 721

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

25 722 723 723 724 725 726 727 728 729 730 730 731 732 732 733 733 735 735 736 737 739 739 740 741 742 742 743 743 745 745 746 747 748 748 749 749 751 751 756 757

26 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 . . . . . . . . . . . . . . . . . . . HuMoments . . . . . . . . . . . . . . . . . . ndContours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760 760 761 763 764 764 766 768 769 770 770 770 771 772 773 774 776 777 779 780 781 781 782 783 783 783 784 784 785 786 787 788 789 789 790 790 791 791 792 793

6.2.4

6.2.5

6.2.6

6.2.7

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

27 795 796 797 797 798 798 799 799 800 802 802 804 804 804 805 806 807 807 807 809 809 811 813 815 816 817 817 818 819 819 821 822 823 823 824 824 825 826 827 827

28 stereoRectify . . . . . . . . . . . . . . . . . stereoRectifyUncalibrated . . . . . . . . . . StereoBM . . . . . . . . . . . . . . . . . . . undistortPoints . . . . . . . . . . . . . . . . 6.3 HighGUI. Image, Video I/O and simple UI functions 6.3.1 The Reference . . . . . . . . . . . . . . . . createTrackbar . . . . . . . . . . . . . . . . getTrackbarPos . . . . . . . . . . . . . . . . imdecode . . . . . . . . . . . . . . . . . . . imencode . . . . . . . . . . . . . . . . . . . imread . . . . . . . . . . . . . . . . . . . . . imshow . . . . . . . . . . . . . . . . . . . . imwrite . . . . . . . . . . . . . . . . . . . . namedWindow . . . . . . . . . . . . . . . . setTrackbarPos . . . . . . . . . . . . . . . . VideoCapture . . . . . . . . . . . . . . . . . VideoWriter . . . . . . . . . . . . . . . . . . waitKey . . . . . . . . . . . . . . . . . . . . Bibliography Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 832 833 833 835 835 835 836 836 836 837 838 838 839 839 840 841 841 843 844

Chapter 1

CXCORE1.11.1.1

Basic StructuresBasic Structures

CvP