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();
}