コード例 #1
0
        public Bitmap CircleExtraction(Image original)
        {
            this.Circles = new List <Circle>();
            this.Colors.Push(Color.Red);
            this.Colors.Push(Color.Blue);
            this.Colors.Push(Color.Green);
            this.Colors.Push(Color.Yellow);

            Bitmap image  = (Bitmap)original.Clone();
            int    width  = image.Width - 1;
            int    height = image.Height - 1;

            _commonController.ToBlackWhite(ref image, width, height);

            for (int y = 1; y < height; y++)
            {
                for (int x = 1; x < width; x++)
                {
                    CircleEgdesValidation(image, y, x);
                }
            }

            Circles.RemoveAll(x => x.Point90.Ending.X == 0 || x.Point90.Ending.Y == 0);

            foreach (var c in Circles)
            {
                IdentifyingCircles(image, c, width, height);
                _commonController.FloodFillCircle(ref image, c, Color.White, Colors.Pop());
            }

            return(image);
        }