本文介绍了这个功能意味着什么; cvTermCriteria()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想用OpenCV编写一个使用C ++的特征脸程序,但我不知道如何使用这个函数cvTermCriteria();我希望有人帮我理解这个函数这是我使用此功能的代码的一部分




I want to write a eigenface program using C++ with OpenCV but i don't know how to work this function cvTermCriteria();and i wish anybody help me for understand this function and this is portion of code where i use this function

void doPCA()
    {
            int i;
            CvTermCriteria calcLimit;
            CvSize faceImgSize;

            // set the number of eigenvalues to use
            nEigens = nTrainFaces-1;

            // allocate the eigenvector images
            faceImgSize.width  = faceImgArr[0]->width;
            faceImgSize.height = faceImgArr[0]->height;
            eigenVectArr = (IplImage**)cvAlloc(sizeof(IplImage*) * nEigens);
            for(i=0; i<nEigens; i++)
                    eigenVectArr[i] = cvCreateImage(faceImgSize, IPL_DEPTH_32F, 1);

            // allocate the eigenvalue array
            eigenValMat = cvCreateMat( 1, nEigens, CV_32FC1 );

            // allocate the averaged image
            pAvgTrainImg = cvCreateImage(faceImgSize, IPL_DEPTH_32F, 1);

            // set the PCA termination criterion
            calcLimit = cvTermCriteria( CV_TERMCRIT_ITER, nEigens, 1);

            // compute average image, eigenvalues, and eigenvectors
            cvCalcEigenObjects(
                    nTrainFaces,
                    (void*)faceImgArr,
                    (void*)eigenVectArr,
                    CV_EIGOBJ_NO_CALLBACK,
                    0,
                    0,
                   &calcLimit,
                    pAvgTrainImg,
                    eigenValMat->data.fl);

            cvNormalize(eigenValMat, eigenValMat, 1, 0, CV_L1, 0);
    }

推荐答案


这篇关于这个功能意味着什么; cvTermCriteria()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-14 10:25