Пример #1
0
 public CActiveShapeModel(CPointDistributionModel PDM)
 {
     _image             = null;
     PDMData            = PDM;
     _cx                = _PDMData.clippingSize.Width / 2;
     _cy                = _PDMData.clippingSize.Height / 2;
     _energy            = 0;
     _usePreviousResult = true;
     _stepCounter       = 0;
     _maxStep           = 10;
     _edgeThreshold     = 20;
     _detectionLimit    = 10;
 }
Пример #2
0
        public CPointDistributionModel principalComponentAnalysis(Size clippingSize, out long time)
        {
            long start = CSettings.currentTimeMillis();

            // Get Covarian Matrix
            CMatrix s = new CMatrix(_numPoints * 2, false);

            for (int i = 0; i < _numSamples; i++)
            {
                CVector dx    = new CVector(_trainingData[i].substractCopy(_mean));
                CMatrix dxdxT = dx.multiplyMatrix(dx);
                s.add(dxdxT);
            }
            s.divide(_numSamples);

            // Calculate Eigen
            CPointDistributionModel ret = new CPointDistributionModel(clippingSize, _mean, CEigen.calculate(s), 7, _connectivity);

            long end = CSettings.currentTimeMillis();

            time = end - start;

            return(ret);
        }