Example #1
0
        public void ShiftPixelsTest()
        {
            Blob blob = new Blob();

            blob.AddPixel(5, 0);
            blob.AddPixel(0, 5);
            blob.ShiftPixels(10, 10);
            Assert.IsTrue((blob.Size == 2) && blob.ContainsPixel(new Point(15, 10)) && blob.ContainsPixel(new Point(10, 15)));
        }
Example #2
0
        public void RectangularityTest()
        {
            Blob blob = new Blob();

            blob.AddPixel(new Point(0, 0));
            blob.AddPixel(new Point(1, 0));
            blob.AddPixel(new Point(0, 1));
            blob.AddPixel(new Point(1, 1));
            Assert.AreEqual(1.0, Geometry.Rectangularity(blob), 0.01);
        }
Example #3
0
        private Blob GenerateTestBlobRectangle(int width, int height)
        {
            Blob blob = new Blob();

            for (int x = 0; x < width; x++)
            {
                for (int y = 0; y < height; y++)
                {
                    blob.AddPixel(new Point(x, y));
                }
            }

            return(blob);
        }
Example #4
0
        /// <summary>
        /// Adds all of the points within a circle definition to an existing blob
        /// </summary>
        /// <param name="blob"></param>
        /// <param name="circleCenter"></param>
        /// <param name="circleRadius"></param>
        public static void AddMinimapIconToBlob(ref Blob blob, Point circleCenter)
        {
            const int circleRadius = 7;
            double    maxRadius    = circleRadius + Numerical.NonZero(0);
            Point     point;

            for (int x = circleCenter.X - circleRadius; x <= circleCenter.X + circleCenter.X; x++)
            {
                for (int y = circleCenter.Y - circleRadius; y <= circleCenter.Y + circleRadius; y++)
                {
                    point = new Point(x, y);
                    if (DistanceBetweenPoints(point, circleCenter) <= maxRadius)
                    {
                        blob.AddPixel(point, true);
                    }
                }
            }
        }