예제 #1
0
        private void button2_Click(object sender, EventArgs e)
        {
            DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.

            if (result == DialogResult.OK)                      // Test result.
            {
                string filePath = openFileDialog1.FileName;

                string pathToDirectory = Path.GetDirectoryName(filePath);
                string disk            = Directory.GetDirectoryRoot(pathToDirectory).Substring(0, 2);

                if (Directory.Exists(pathToDirectory + "\\FeaturesSingleFile"))
                {
                    Helper.DeleteDirectory(pathToDirectory + "\\FeaturesSingleFile");
                }

                string folderNavigation = "cd " + pathToDirectory;

                string fileNameWithFileNames = Path.GetFileNameWithoutExtension(filePath).ToString().Replace(" ", "_") +
                                               "Files.txt";

                string allFilesDocumentCreation = "echo " + Path.GetFileName(filePath) + " > " + fileNameWithFileNames;

                string extractClassemessCD = "cd D:\\Sharp\\vlg_extractor_1.1.3";

                string extractClassemes = "vlg_extractor.bat --extract_classemes=ASCII " + pathToDirectory + "\\"
                                          + fileNameWithFileNames + " " + pathToDirectory + " " + pathToDirectory + "\\FeaturesSingleFile";

                string pathToVectors = pathToDirectory + "\\FeaturesSingleFile";
                alert = new ProgressDialog();
                alert.Show();

                Image imgtemp = Image.FromFile(filePath);

                pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
                pictureBox1.Image    = imgtemp;

                VectorizationService.ExecuteCommand(new[]
                                                    { disk, folderNavigation, allFilesDocumentCreation, extractClassemessCD, extractClassemes });

                string fileName = Directory.GetFiles(pathToVectors).First();

                double[] features = File.ReadLines(fileName).Select(Double.Parse).ToArray();
                textBox1.Text = classifier.Classify(features);


                string pathToClassifiedDirectory = pathToDirectory + "\\" + textBox1.Text.Replace(" ", "_") + "_Classified";
                if (!Directory.Exists(pathToClassifiedDirectory))
                {
                    Directory.CreateDirectory(pathToClassifiedDirectory);
                }
                File.Copy(filePath, pathToClassifiedDirectory + "\\" + Path.GetFileName(filePath), true);

                alert.Close();
            }
        }
예제 #2
0
        public void Extract(string pathToDirectory, string styleTitle)
        {
            string disk = Directory.GetDirectoryRoot(pathToDirectory).Substring(0, 2);

            string folderNavigation = "cd " + pathToDirectory;

            string fileNameWithFileNames = styleTitle.Replace(" ", "_") + "Files.txt";

            string allFilesDocumentCreation = "dir /b > " + fileNameWithFileNames;

            string extractClassemessCD = "cd D:\\Sharp\\vlg_extractor_1.1.3";

            string extractClassemes = "vlg_extractor.bat --extract_picodes128=ASCII " + pathToDirectory + "\\"
                                      + fileNameWithFileNames + " " + pathToDirectory + " " + pathToDirectory + "\\FeaturesPiCoDes";

            string pathToVectors = pathToDirectory + "\\FeaturesPiCoDes";

            VectorizationService.ExecuteCommand(new[] { disk, folderNavigation, allFilesDocumentCreation, extractClassemessCD, extractClassemes });

            // Vector of features is extracted.

            foreach (string fileName in Directory.GetFiles(pathToVectors))
            {
                // Put info about extracted features in db.
                //IEnumerable<double> features = File.ReadLines(fileName).Select(Double.Parse);
                //int featureNumber = 0;
                //DataRow dr = table.NewRow();
                //dr["Style"] = comboBox1.SelectedItem;
                //foreach (var feature in features)
                //{
                //  dr["Feature " + featureNumber] = feature;
                //  featureNumber++;
                //}
                //table.Rows.Add(dr);
            }

            Console.WriteLine("Vector of PiCoDes features is extracted.");
        }