SetVision.Learning.BgrClassifier.TrainDirectories C# (CSharp) Method

TrainDirectories() private method

private TrainDirectories ( ) : int>>.IEnumerable
return int>>.IEnumerable
        private IEnumerable<KeyValuePair<float[], int>> TrainDirectories()
        {
            DirectoryInfo colordebug = new DirectoryInfo(@"D:\Development\OpenCV\SetVision\SetVision\bin\Debug\colordebug");
            DirectoryInfo pass4 = colordebug.GetDirectories("Pass 4")[0];

            foreach (DirectoryInfo colordir in pass4.GetDirectories())
            {
                CardColor color = CardColor.Other;
                string colname = colordir.Name.ToLower();
                if (colname.Contains("purple"))
                {
                    color = CardColor.Purple;
                }
                else if (colname.Contains("green"))
                {
                    color = CardColor.Green;
                }
                else if (colname.Contains("red"))
                {
                    color = CardColor.Red;
                }
                else if (colname.Contains("white"))
                {
                    color = CardColor.White;
                }

                foreach (FileInfo file in colordir.GetFiles())
                {
                    Bgr bgr; Hsv hsv;
                    fileNameToColors(file.Name, out bgr, out hsv);
                    if (!bgr.Equals(new Bgr()) && !hsv.Equals(new Hsv()))
                    {
                        float[] array = new float[] { (float)bgr.Blue, (float)bgr.Green, (float)bgr.Red };
                        KeyValuePair<float[], int> pair = new KeyValuePair<float[], int>(array, (int)color);
                        yield return pair;
                    }
                }
            }
        }