Example #1
0
        public void Run(TestCaseData testCase)
        {
            TestImageEncoder imageEncoder = new TestImageEncoder(testCase.ImageData);
            IBlobSearcher    blobSearcher = new SimpleBlobSearcher(imageEncoder);

            //IBlobDetector blobDetector = new RecursiveBasedDetector( imageEncoder, blobSearcher );
            IBlobDetector blobDetector = new ContourTracingDetector(imageEncoder, blobSearcher);

            Location result = blobDetector.Detect();

            int actualReadCount = imageEncoder.PreviousPoints.Count;

            OutputSearchPath(imageEncoder);

            Assert.AreEqual(testCase.ExpectedResult.ReadCount, actualReadCount);

            Assert.AreEqual(testCase.ExpectedResult.EdgeLocation, result);
        }
Example #2
0
        private static void OutputSearchPath(TestImageEncoder imageEncoder)
        {
            int counter = 1;

            foreach (var item in imageEncoder.PreviousPoints)
            {
                imageEncoder.SetValue(item, counter++);
            }

            int imageWidth = imageEncoder.GetImageWidth();
            int imageHight = imageEncoder.GetImageHight();

            for (int i = 0; i < imageWidth; i++)
            {
                for (int j = 0; j < imageHight; j++)
                {
                    Debug.Write($@"	{ imageEncoder.GetValue( new Point( i, j ) )},");
                }
                Debug.WriteLine("");
            }

            Debug.WriteLine("");
        }