SetVision.Learning.BgrHsvClassifier.GenerateTrainPairs C# (CSharp) Method

GenerateTrainPairs() private method

private GenerateTrainPairs ( ) : CardColor>>.IEnumerable
return CardColor>>.IEnumerable
        private IEnumerable<KeyValuePair<ColorPair, CardColor>> GenerateTrainPairs()
        {
            CsvWriter writer = new CsvWriter(@"D:\Development\OpenCV\SetVision\SetVision\bin\Debug\colordebug\generated.csv");

            DirectoryInfo colordebug = new DirectoryInfo(@"D:\Development\OpenCV\SetVision\SetVision\bin\Debug\colordebug");
            DirectoryInfo traindir = colordebug.GetDirectories("Pass 9")[0];

            foreach (DirectoryInfo colordir in traindir.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()))
                    {
                        ColorPair colors = new ColorPair(bgr, hsv);
                        writer.Write((int)bgr.Blue, (int)bgr.Green, (int)bgr.Red);

                        yield return new KeyValuePair<ColorPair, CardColor>(colors, color);
                    }
                }
            }
            writer.Close();
        }