Exemplo n.º 1
0
        private Pixel[][] CreateStartSymmetricMask()
        {
            Pixel[][] symmetricMask = new Pixel[5][];
            for (var i = 0; i < symmetricMask.Length; i++)
            {
                symmetricMask[i] = new Pixel[5];
                for (var j = 0; j < symmetricMask[i].Length; j++)
                {
                    symmetricMask[i][j] = new Pixel()
                    {
                        Value = 0
                    };
                }
            }

            symmetricMask[0][0].Value = symmetricMask[0][4].Value = symmetricMask[4][0].Value
                                                                        = symmetricMask[4][4].Value = 1;

            symmetricMask[0][2].Value = symmetricMask[2][4].Value = symmetricMask[4][2].Value
                                                                        = symmetricMask[2][0].Value = 2;

            symmetricMask[2][2].Value = 4;

            return(symmetricMask);
        }
Exemplo n.º 2
0
        private Pixel[][] CreateStartRandomMask()
        {
            Pixel[][] randomMask = new Pixel[6][];
            for (var i = 0; i < randomMask.Length; i++)
            {
                randomMask[i] = new Pixel[3];
            }

            randomMask[1][1] = new Pixel()
            {
                Value = 5
            };
            randomMask[4][1] = new Pixel()
            {
                Value = 5
            };

            randomMask[0][0] = new Pixel()
            {
                Value = 10
            };
            randomMask[0][2] = new Pixel()
            {
                Value = 10
            };
            randomMask[5][0] = new Pixel()
            {
                Value = 10
            };
            randomMask[5][2] = new Pixel()
            {
                Value = 10
            };

            randomMask[2][0] = new Pixel()
            {
                Value = 5
            };
            randomMask[2][2] = new Pixel()
            {
                Value = 5
            };
            randomMask[3][0] = new Pixel()
            {
                Value = 10
            };
            randomMask[3][2] = new Pixel()
            {
                Value = 10
            };

            return(randomMask);
        }
Exemplo n.º 3
0
        private Pixel[][] CreateStartAsymmetricMask()
        {
            Pixel[][] asymmetricMask = new Pixel[2][];
            for (var i = 0; i < asymmetricMask.Length; i++)
            {
                asymmetricMask[i] = new Pixel[6];
                for (var j = 0; j < asymmetricMask[i].Length; j++)
                {
                    asymmetricMask[i][j] = new Pixel()
                    {
                        Value = (i + j) % 2 == 0 ? 5 : 0
                    };
                }
            }

            return(asymmetricMask);
        }
Exemplo n.º 4
0
        private Pixel[][] ToArrayMask(Mask mask)
        {
            int startX = mask.Pixels.Min(it => it.X);
            int startY = mask.Pixels.Min(it => it.Y);

            int width  = mask.Pixels.Max(it => it.X) - startX + 1;
            int height = mask.Pixels.Max(it => it.Y) - startY + 1;

            Pixel[][] result = new Pixel[height][];
            for (int y = 0; y < height; y++)
            {
                result[y] = new Pixel[width];
            }

            foreach (var pixel in mask.Pixels)
            {
                result[pixel.Y - startY][pixel.X - startX] = new Pixel()
                {
                    Value = pixel.Value
                };
            }

            return(result);
        }