CvBlobTrackPostProcList(CvBlobTrackPostProcOne* (*create)()):m_BlobFilterList(sizeof(DefBlobFilter))
 {
     m_Frame = 0;
     m_CreatePostProc = create;
     CvBlobTrackPostProcOne* pM = create();
     TransferParamsFromChild(pM,NULL);
     pM->Release();
     SetModuleName("List");
 }
Esempio n. 2
0
 int AddAnalyzer(CvBlobTrackAnalysis* pA, const char* pName)
 {
     if(m_AnNum<MAX_ANS)
     {
         //int i;
         m_Ans[m_AnNum].pName = pName;
         m_Ans[m_AnNum].pAn = pA;
         TransferParamsFromChild(m_Ans[m_AnNum].pAn, pName);
         m_AnNum++;
         return 1;
     }
     else
     {
         printf("Can not add track analyzer %s! (not more that %d analyzers)\n",pName,MAX_ANS);
         return 0;
     }
 }
    CvBlobTrackerCCCR(CvBlobTrackerOne* (*CreateCR)(), char* CRName):m_BlobList(sizeof(DefBlobTrackerCR))
    {
        m_CreateCR = CreateCR;
        m_pMem = cvCreateMemStorage();

        m_Collision = 1; /* if 1 then collistion will be detected and processed */

        m_AlphaSize = 0.05f;
        AddParam("AlphaSize",&m_AlphaSize);
        CommentParam("AlphaSize", "Size update speed (0..1)");

        strcpy(m_ModuleName, "CC");
        if(CRName)strcat(m_ModuleName,CRName);
        SetModuleName(m_ModuleName);

        {
            CvBlobTrackerOne* pM = m_CreateCR();
            TransferParamsFromChild(pM,NULL);
            pM->Release();
        }
        SetParam("SizeVar",0);
    };