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