private void colorPolygon(Polygon polygon)
        {
            if (polygon.Points != null)
            {
                var maxX         = polygon.Points.Max(point => point.X);
                var maxY         = polygon.Points.Max(point => point.Y);
                var minX         = polygon.Points.Min(point => point.X);
                var minY         = polygon.Points.Min(point => point.Y);
                var firstPoint   = new Point(minX, minY);
                var secondPoint  = new Point(maxX, maxY);
                var averageColor = PixelUtilities.GetAverageColor(this.SourcePicture, firstPoint, secondPoint);

                Brush brush = new SolidColorBrush(averageColor);
                polygon.Fill            = brush;
                polygon.Stroke          = brush;
                polygon.StrokeThickness = 1.0;
            }
        }