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))); }
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); }
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); }
/// <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); } } } }