Beispiel #1
0
    static Image ApplyRefinements(int number, Image input, ImageEnhancementAlgorithm algorithm)
    {
        var image = input;

        for (var i = 0; i < number; i++)
        {
            image = RefineImage(image, algorithm);
        }

        return(image);
Beispiel #2
0
        static Image RefineImage(Image input, ImageEnhancementAlgorithm algorithm)
        {
            var newPoints = ImmutableHashSet.CreateBuilder <Point2d>();
            var newArea   = input.Area.Pad(1);

            foreach (var point in newArea.Items)
            {
                var number = GetDecimalNumber(input, point);
                var lit    = algorithm[number];
                if (lit)
                {
                    newPoints.Add(point);
                }
            }

            var newDefault = input.DefaultLitValue is false
                ? algorithm[0]
                : algorithm[^ 1];