public void SłownikEtykiet_ShouldReturnLabelAsBinaryArray() { var etykiety = new SłownikEtykiet(); for (int i = 0; i < 10; i++) { etykiety.Dodaj(i.ToString(), i); } for (int i = 0; i < 10; i++) { var label = etykiety.LabelToBinaryArray(i.ToString()); label.Count().ShouldBe(10); for (int j = 0; j < 10; j++) { if (i == j) { label.ElementAt(j).ShouldBe(1); } else { label.ElementAt(j).ShouldBe(0); } } } }
void EtykietujPliki(string folder, string labelsPath = null) { var files = Directory.GetFiles(folder, "*.png", SearchOption.AllDirectories); var labels = new SłownikEtykiet(); if (File.Exists(labelsPath)) { Console.WriteLine("Wczytywanie słownika etykiet z pliku " + labelsPath); labels = SłownikEtykiet.Wczytaj(labelsPath); } else { Console.WriteLine("Generowanie słownika etykiet z " + files.Length + " plik(i)..."); labels = SłownikEtykiet.AutoLabel(files); } Console.WriteLine("Etykiety: {0}", labels.Etykiety.Count()); foreach (var e in labels.Etykiety) { Console.WriteLine(e + ": " + string.Join(",", labels.LabelToBinaryArray(e))); } var fileName = "LabelFeatures_T" + DateTime.Now.ToShortDateString() + ".txt"; Console.WriteLine("Etykietowanie " + files.Length + " plików -> " + fileName); var writer = new FeatureWriter(labels) { UseColor = Settings.Default.Color }; writer.Zapisz(fileName, files); var labelsWriter = new LabelWriter(labels); var labelPath = "LabelFeatures_LabelsT" + DateTime.Now.ToShortDateString() + ".txt"; Console.WriteLine("Eksportowanie etykiet do pliku -> " + labelPath); var records = labelsWriter.Zapisz(labelPath, files); foreach (var record in records) { Console.WriteLine(record); } }