SetVision.Learning.BgrHsvClassifier.Train C# (CSharp) 메소드

Train() 공개 메소드

public Train ( ) : void
리턴 void
        public void Train()
        {
            /*
             * in trainData:    data[i,.,.,.]   = vector
             * trainClasses: classes[i]         = class
             */
            List<KeyValuePair<ColorPair, CardColor>> pairs = new List<KeyValuePair<ColorPair, CardColor>>(GenerateTrainPairs());

            #region Generate the traning data and classes
            Matrix<float> bgrTraining = new Matrix<float>(pairs.Count, 3);
            Matrix<float> hsvTraining = new Matrix<float>(pairs.Count, 3);
            Matrix<float> colorClasses = new Matrix<float>(pairs.Count, 1);

            for (int i = 0; i < pairs.Count; i++)
            {
                bgrTraining[i, 0] = (float)pairs[i].Key.Bgr.Blue;
                bgrTraining[i, 1] = (float)pairs[i].Key.Bgr.Green;
                bgrTraining[i, 2] = (float)pairs[i].Key.Bgr.Red;

                hsvTraining[i, 0] = (float)pairs[i].Key.Hsv.Hue;
                hsvTraining[i, 1] = (float)pairs[i].Key.Hsv.Satuation;
                hsvTraining[i, 2] = (float)pairs[i].Key.Hsv.Value;

                colorClasses[i, 0] = (float)(int)pairs[i].Value;
            }
            #endregion

            bgrClassifier = new KNearest(bgrTraining, colorClasses, null, false, 10);
            hsvClassifier = new KNearest(hsvTraining, colorClasses, null, false, 10);

            try
            {
                bgrClassifier.Save("bgr.txt");
                hsvClassifier.Save("hsv.txt");
            }
            catch (Exception)
            {
            }
        }

Usage Example

예제 #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            BgrHsvClassifier classifier = new BgrHsvClassifier();
            classifier.Train();

            SVMClassifier svm = new SVMClassifier();
            svm.TrainFromCsv(@"D:\Development\OpenCV\SetVision\recordings.csv");
            svm.Save(@"D:\Development\OpenCV\SetVision\rgbsvm.yaml");
        }
All Usage Examples Of SetVision.Learning.BgrHsvClassifier::Train