Esempio n. 1
0
        private void ExportHogToCsv(StreamWriter file, List <FileInfo> imagesOnDisk, HogImageFeatures hogFeature)
        {
            foreach (var image in imagesOnDisk)
            {
                using (Image <Bgr, Byte> tempImage = new Image <Bgr, Byte>(image.FullName))
                {
                    int offsetX = 0;
                    int offsetY = 0;
                    int width   = tempImage.Width;
                    int height  = tempImage.Height;

                    while ((offsetY + 128) <= height)
                    {
                        while ((offsetX + 64) <= width)
                        {
                            hogFeature.Compute(tempImage, new Rectangle(offsetX, offsetY, 64, 128));
                            var descriptor = string.Join(",", hogFeature.DescriptorArray);
                            file.WriteLine(descriptor);

                            offsetX += 32;
                        }
                        offsetY += 64;
                    }
                }
            }
        }
Esempio n. 2
0
        private void exportHogFeaturesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.folderBrowserDialog.RootFolder = System.Environment.SpecialFolder.MyComputer;

            DialogResult dialogResult = this.folderBrowserDialog.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                string           root        = folderBrowserDialog.SelectedPath;
                HogImageFeatures hogFeature  = new HogImageFeatures();
                DirectoryInfo    trainPosDir = new DirectoryInfo(root + @"\Train\pos");
                DirectoryInfo    trainNegDir = new DirectoryInfo(root + @"\Train\neg");
                DirectoryInfo    testPosDir  = new DirectoryInfo(root + @"\Test\pos");
                DirectoryInfo    testNegDir  = new DirectoryInfo(root + @"\Test\neg");

                var imagesOnDisk = FileHelper.GetImages(trainPosDir);
                using (StreamWriter file = new StreamWriter(root + @"\train_pos.csv"))
                {
                    ExportCrop96x160HogToCsv(file, imagesOnDisk, hogFeature);
                }

                imagesOnDisk = FileHelper.GetImages(trainNegDir);
                using (StreamWriter file = new StreamWriter(root + @"\train_neg.csv"))
                {
                    ExportHogToCsv(file, imagesOnDisk, hogFeature);
                }

                imagesOnDisk = FileHelper.GetImages(testPosDir);
                using (StreamWriter file = new StreamWriter(root + @"\test_pos.csv"))
                {
                    ExportCrop70x134HogToCsv(file, imagesOnDisk, hogFeature);
                }

                imagesOnDisk = FileHelper.GetImages(testNegDir);
                using (StreamWriter file = new StreamWriter(root + @"\test_neg.csv"))
                {
                    ExportHogToCsv(file, imagesOnDisk, hogFeature);
                }
            }
        }
Esempio n. 3
0
        private void ExportCrop70x134HogToCsv(StreamWriter file, List <FileInfo> imagesOnDisk, HogImageFeatures hogFeature)
        {
            Rectangle roi = new Rectangle(3, 3, 64, 128);

            foreach (var image in imagesOnDisk)
            {
                using (Image <Bgr, Byte> tempImage = new Image <Bgr, Byte>(image.FullName))
                {
                    hogFeature.Compute(tempImage, roi);
                    var descriptor = string.Join(",", hogFeature.DescriptorArray);
                    file.WriteLine(descriptor);
                }
            }
        }