opecv中cvAdds和cvAdd中的mask的用法探讨

学习到cvAdd中看到其定义为:


中mask的定义,

于是更加迷糊mask到底是什么神物,

接着继续探讨之:发现其中的伟大之处,呵呵。。。




Fn :

包含 mask 参数的一些函数如下 [摘自opencv 2.3.1版本 C++]

  • void add(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1)
  • subtract
  • bitwise_and, bitwise_not, bitwise_or, bitwise_xor
  • mean, menStdDev
  • minMaxLoc
  • norm, normalize
  • grabCut
  • calcHist

Quote :

mask – Optional operation mask, 8-bit single channel array, that specifies elements of the destination array to be changed. [From OpenCV2.3.1 Doc]

mask 是一个8位的单通道数组,它指定了目标数组哪些元素会被修改。以 add 函数为例,请见 Code


Code :

   1: /*
   2:     Author : Ggicci
   3:     Date   : 2012.07.20
   4:     Title  : How to use opencv's parameter - mask ?
   5: */
   6: int main()
   7: {    
   8:     Mat m(10, 10, CV_8U);
   9:     //RNG类对象rng, 以统一分布(Uniform Distribution)随机填充矩阵 m 和 n
  10:     cv::RNG rng;
  11:     rng.fill(m, RNG::UNIFORM, 0, 10);
  12:     cout << "m = " << endl << m << endl << endl;
  13: 
  14:     Mat n(10, 10, CV_8U);
  15:     rng.fill(n, RNG::UNIFORM, 8, 10);
  16:     cout << "n = " << endl << n << endl << endl;
  17:     
  18:     Mat dst;
  19:     //指定 mask
  20:     Mat mask(10, 10, CV_8U, Scalar(0));
  21:     Mat specified(mask, Rect(2, 5, 4, 4));
  22:     specified.setTo(1);
  23:     cout << "mask = " << endl << mask << endl << endl;
  24: 
  25:     cv::add(m, n, dst, mask);
  26:     cout << "dst = " << endl << dst << endl << endl;
  27: 
  28:     return 0;
  29: }
Output :
   1: m =
   2: [6, 7, 9, 9, 7, 0, 6, 3, 6, 9;
   3:   1, 8, 7, 8, 5, 3, 8, 1, 7, 3;
   4:   3, 3, 5, 4, 8, 2, 6, 1, 2, 2;
   5:   6, 1, 0, 7, 3, 5, 0, 6, 3, 3;
   6:   7, 5, 0, 5, 3, 0, 2, 7, 1, 7;
   7:   9, 8, 8, 3, 9, 5, 4, 1, 8, 3;
   8:   8, 1, 8, 7, 7, 0, 3, 8, 8, 3;
   9:   8, 9, 5, 1, 1, 3, 3, 3, 4, 7;
  10:   2, 7, 6, 8, 2, 4, 9, 5, 6, 1;
  11:   5, 0, 5, 7, 8, 4, 1, 0, 4, 8]
  12: 
  13: n =
  14: [9, 8, 9, 8, 8, 9, 9, 9, 9, 9;
  15:   9, 9, 9, 9, 9, 8, 8, 9, 9, 9;
  16:   8, 8, 9, 9, 8, 9, 9, 9, 8, 9;
  17:   9, 9, 8, 9, 9, 8, 8, 8, 8, 8;
  18:   8, 8, 9, 8, 9, 9, 8, 8, 8, 8;
  19:   9, 9, 9, 9, 8, 8, 8, 9, 9, 8;
  20:   9, 9, 8, 8, 8, 9, 9, 8, 8, 9;
  21:   9, 8, 9, 9, 8, 9, 8, 9, 9, 8;
  22:   9, 8, 9, 9, 9, 9, 8, 9, 8, 8;
  23:   8, 8, 9, 9, 9, 8, 9, 8, 9, 9]
  24: 
  25: mask =
  26: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
  27:   0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
  28:   0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
  29:   0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
  30:   0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
  31:   0, 0, 1, 1, 1, 1, 0, 0, 0, 0;
  32:   0, 0, 1, 1, 1, 1, 0, 0, 0, 0;
  33:   0, 0, 1, 1, 1, 1, 0, 0, 0, 0;
  34:   0, 0, 1, 1, 1, 1, 0, 0, 0, 0;
  35:   0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  36: 
  37: dst =
  38: [205, 205, 205, 205, 205, 205, 205, 205, 205, 205;
  39:   205, 205, 205, 205, 205, 205, 205, 205, 205, 205;
  40:   205, 205, 205, 205, 205, 205, 205, 205, 205, 205;
  41:   205, 205, 205, 205, 205, 205, 205, 205, 205, 205;
  42:   205, 205, 205, 205, 205, 205, 205, 205, 205, 205;
  43:   205, 205, 17, 12, 17, 13, 205, 205, 205, 205;
  44:   205, 205, 16, 15, 15, 9, 205, 205, 205, 205;
  45:   205, 205, 14, 10, 9, 12, 205, 205, 205, 205;
  46:   205, 205, 15, 17, 11, 13, 205, 205, 205, 205;
  47:   205, 205, 205, 205, 205, 205, 205, 205, 205, 205]
  48: 
  49: 请按任意键继续. . .//mask的红色部分指定了dst被修改的部分(同样以红色标出),其余部分为dst的初始化值


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV Reference Manual v2.1 March 18, 2010 2 Contents I C API Reference 39 1 cxcore. The Core Functionality 41 1.1 Basic Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 CvPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 CvPoint2D32f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 CvPoint3D32f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 CvPoint2D64f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 CvPoint3D64f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 CvSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 CvSize2D32f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 CvRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 CvScalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 CvTermCriteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 CvMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 CvMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 CvSparseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 IplImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 CvArr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 1.2 Operations on Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 cvAbsDiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 cvAbsDiffS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 cvAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 cvAddS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 cvAddWeighted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 cvAnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 cvAndS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 cvAvg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 cvAvgSdv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 cvCalcCovarMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3 4 CONTENTS cvCartToPolar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 cvCbrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 cvClearND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 cvCloneImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 cvCloneMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 cvCloneMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 cvCloneSparseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 cvCmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 cvCmpS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 cvConvertScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 cvConvertScaleAbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 cvCvtScaleAbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 cvCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 cvCountNonZero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 cvCreateData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 cvCreateImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 cvCreateImageHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 cvCreateMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 cvCreateMatHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 cvCreateMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 cvCreateMatNDHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 cvCreateSparseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 cvCrossProduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 CvtPixToPlane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 cvDCT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 cvDFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 cvDecRefData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 cvDet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 cvDiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 cvDotProduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 cvEigenVV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 cvExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 cvFastArctan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 cvFlip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 cvGEMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 cvGet?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 cvGetCol(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 cvGetDiag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 cvGetDims, cvGetDimSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 cvGetElemType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 CONTENTS 5 cvGetImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 cvGetImageCOI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 cvGetImageROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 cvGetMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 cvGetNextSparseNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 cvGetOptimalDFTSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 cvGetRawData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 cvGetReal?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 cvGetRow(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 cvGetSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 cvGetSubRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 cvInRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 cvInRangeS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 cvIncRefData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 cvInitImageHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 cvInitMatHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 cvInitMatNDHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 cvInitSparseMatIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 cvInvSqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 cvInv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 cvInvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 cvIsInf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 cvIsNaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 cvLUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 cvLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 cvMahalonobis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 cvMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 cvMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 cvMaxS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 cvMerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 cvMin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 cvMinMaxLoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 cvMinS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 cvMixChannels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 MulAddS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 cvMul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 cvMulSpectrums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 cvMulTransposed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 cvNorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6 CONTENTS cvNot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 cvOr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 cvOrS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 cvPerspectiveTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 cvPolarToCart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 cvPow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 cvPtr?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 cvRNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 cvRandArr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 cvRandInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 cvRandReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 cvReduce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 cvReleaseData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 cvReleaseImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 cvReleaseImageHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 cvReleaseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 cvReleaseMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 cvReleaseSparseMat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 cvRepeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 cvResetImageROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 cvReshape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 cvReshapeMatND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 cvRound, cvFloor, cvCeil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 cvScaleAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 cvSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 cvSet?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 cvSetData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 cvSetIdentity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 cvSetImageCOI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 cvSetImageROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 cvSetReal?D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 cvSetZero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 cvSolve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 cvSolveCubic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 cvSplit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 cvSqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 cvSub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 cvSubRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 cvSubS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 cvSum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 CONTENTS 7 cvSVBkSb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 cvSVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 cvTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 cvTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 cvTranspose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 cvXor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 cvXorS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 cvmGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 cvmSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 1.3 Dynamic Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 CvMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 CvMemBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 CvMemStoragePos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 CvSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 CvSeqBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 CvSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 CvSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 CvGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 CvGraphScanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 CV TREE NODE FIELDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 CvTreeNodeIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 cvClearGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 cvClearMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 cvClearSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 cvClearSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 cvCloneGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 cvCloneSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 cvCreateChildMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 cvCreateGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 cvCreateGraphScanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 cvCreateMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 cvCreateSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 cvCreateSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 cvCvtSeqToArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 cvEndWriteSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 cvFindGraphEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 cvFindGraphEdgeByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 cvFlushSeqWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 cvGetGraphVtx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 cvGetSeqElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 8 CONTENTS cvGetSeqReaderPos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 cvGetSetElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 cvGraphAddEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 cvGraphAddEdgeByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 cvGraphAddVtx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 cvGraphEdgeIdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 cvGraphRemoveEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 cvGraphRemoveEdgeByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 cvGraphRemoveVtx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 cvGraphRemoveVtxByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 cvGraphVtxDegree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 cvGraphVtxDegreeByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 cvGraphVtxIdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 cvInitTreeNodeIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 cvInsertNodeIntoTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 cvMakeSeqHeaderForArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 cvMemStorageAlloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 cvMemStorageAllocString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 cvNextGraphItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 cvNextTreeNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 cvPrevTreeNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 cvReleaseGraphScanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 cvReleaseMemStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 cvRestoreMemStoragePos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 cvSaveMemStoragePos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 cvSeqElemIdx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 cvSeqInsert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 cvSeqInsertSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 cvSeqInvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 cvSeqPop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 cvSeqPopFront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 cvSeqPopMulti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 cvSeqPush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 cvSeqPushFront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 cvSeqPushMulti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 cvSeqRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 cvSeqRemoveSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 cvSeqSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 cvSeqSlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 cvSeqSort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 CONTENTS 9 cvSetAdd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 cvSetNew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 cvSetRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 cvSetRemoveByPtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 cvSetSeqBlockSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 cvSetSeqReaderPos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 cvStartAppendToSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 cvStartReadSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 cvStartWriteSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 cvTreeToNodeSeq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 1.4 Drawing Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 cvCircle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 cvClipLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 cvDrawContours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 cvEllipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 cvEllipseBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 cvFillConvexPoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 cvFillPoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OpenCV的库文件 #pragma comment lib "cv" #pragma comment lib "highgui" #pragma comment lib "cxcore" gsl的库文件 #pragma comment lib "libgsl a" #include "minpq h" #include "sift h" #include "imgfeatures h" #include "kdtree h" #include "utils h" #include "xform h" #include <cv h> #include <cxcore h> #include <highgui h> #include <stdio h> #include <iostream h> the maximum number of keypoint NN candidates to check during BBF search #define KDTREE BBF MAX NN CHKS 200 threshold on squared ratio of distances between NN and 2nd NN #define NN SQ DIST RATIO THR 0 49 Globals char img1 file[] " 1 bmp"; 怎么VC下一个点就够了的 net下需要两个点 char img2 file[] " 2 bmp"; double imgzoom scale 0 7; 显示匹配结果图的缩放比例 IplImage img1 img2 stacked; other functions 鼠标响应函数(用于根据鼠键响应缩放匹配结果的窗口大小) void on mouse int event int x int y int flags void param ; typedef char va list; #define INTSIZEOF n sizeof n + sizeof int 1 & sizeof int 1 #define va start ap v ap va list &v + INTSIZEOF v #define va end ap ap va list 0 void fatal error char format { va list ap; fprintf stderr "Error: " ; va start ap format ; vfprintf stderr format ap ; va end ap ; fprintf stderr " n" ; abort ; } extern IplImage stack imgs IplImage img1 IplImage img2 { IplImage stacked cvCreateImage cvSize MAX img1 >width img2 >width img1 >height + img2 >height IPL DEPTH 8U 3 ; cvZero stacked ; cvSetImageROI stacked cvRect 0 0 img1 >width img1 >height ; cvAdd img1 stacked stacked NULL ; cvSetImageROI stacked cvRect 0 img1 >height img2 >width img2 >height ; cvAdd img2 stacked stacked NULL ; cvResetImageROI stacked ; return stacked; } int sift features IplImage img struct feature feat { return sift features img feat SIFT INTVLS SIFT SIGMA SIFT CONTR THR SIFT CURV THR SIFT IMG DBL SIFT DESCR WIDTH SIFT DESCR HIST BINS ; }"> OpenCV的库文件 #pragma comment lib "cv" #pragma comment lib "highgui" #pragma comment lib "cxcore" gsl的库文件 #pragma comment lib "libgsl a" #include "minpq h" #include "sift h" #include [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值