Exemplo n.º 1
0
        public void ExtractAnchors(string sourceFileName,
                                   GradientOperator gradientOperator, int gradientThreshold,
                                   int anchorScanInterval, int anchorThreshold)
        {
            // Arrange
            var source    = LoadImage(sourceFileName);
            var rows      = source.Size.Height;
            var columns   = source.Size.Width;
            var gradients = new Gradients(rows, columns);

            gradients.ComputeGradient(source, gradientOperator, gradientThreshold);

            // Act
            var anchors = gradients.ExtractAnchors(anchorScanInterval, anchorThreshold);

            // Assert
            var anchorMap = new Mat(rows, columns, Depth.U8, 1);

            anchorMap.Set(Scalar.All(0));
            foreach (var anchor in anchors)
            {
                anchorMap.SetReal(anchor.Y, anchor.X, 255);
            }
            var resultFileName = Path.Combine("Output", "ExtractAnchors", $"{Path.GetFileNameWithoutExtension(sourceFileName)}_{gradientOperator}_{gradientThreshold}_{anchorScanInterval}_{anchorThreshold}.png");

            SaveImage(anchorMap, resultFileName);
        }
Exemplo n.º 2
0
        public void ComputeGradient(string sourceFileName, GradientOperator gradientOperator, int gradientThreshold)
        {
            // Arrange
            var source    = LoadImage(sourceFileName);
            var rows      = source.Size.Height;
            var columns   = source.Size.Width;
            var gradients = new Gradients(rows, columns);

            // Act
            gradients.ComputeGradient(source, gradientOperator, gradientThreshold);

            // Assert
            var gradientFileName   = Path.Combine("Output", "ComputeGradient", $"{Path.GetFileNameWithoutExtension(sourceFileName)}_{gradientOperator}_{gradientThreshold}_GradientMap.png");
            var directionsFileName = Path.Combine("Output", "ComputeGradient", $"{Path.GetFileNameWithoutExtension(sourceFileName)}_{gradientOperator}_{gradientThreshold}_DirectionsMap.png");

            SaveImage(gradients.GradientMap, gradientFileName);
            SaveImage(gradients.DirectionMap, directionsFileName);
        }