Пример #1
0
        private void GetSkelet()
        {
            int[,] bit = new int[ibOriginal.Image.Bitmap.Height, ibOriginal.Image.Bitmap.Width];
            for (int i = 0; i < ibOriginal.Image.Bitmap.Height; i++)
            {
                for (int j = 0; j < ibOriginal.Image.Bitmap.Width; j++)
                {
                    if (ibOriginal.Image.Bitmap.GetPixel(j, i).ToArgb() == -1)
                    {
                        bit[i, j] = 1;
                    }
                    else
                    {
                        bit[i, j] = 0;
                    }
                }
            }
            Bitmap         bm = new Bitmap(ibOriginal.Image.Bitmap.Width, ibOriginal.Image.Bitmap.Height);
            Skeletonizator s  = new Skeletonizator(bit);

            int[,] sk = new int[ibOriginal.Image.Bitmap.Height, ibOriginal.Image.Bitmap.Width];
            sk        = s.SkeletonZhangSuen();
            for (int i = 0; i < ibOriginal.Image.Bitmap.Height; i++)
            {
                for (int j = 0; j < ibOriginal.Image.Bitmap.Width; j++)
                {
                    if (sk[i, j] == 1)
                    {
                        bm.SetPixel(j, i, Color.Red);
                    }
                    else
                    {
                        bm.SetPixel(j, i, Color.White);
                    }
                }
            }
            ibProcessed.Image          = new Image <Bgr, byte>(bm);
            toolStripStatusLabel1.Text = "Скелет изображения построен.";
        }
Пример #2
0
 private void GetSkelet()
 {
     int[,] bit = new int[ibOriginal.Image.Bitmap.Height, ibOriginal.Image.Bitmap.Width];
     for (int i = 0; i < ibOriginal.Image.Bitmap.Height; i++)
         for (int j = 0; j < ibOriginal.Image.Bitmap.Width; j++)
         {
             if (ibOriginal.Image.Bitmap.GetPixel(j, i).ToArgb() == -1)
                 bit[i, j] = 1;
             else
                 bit[i, j] = 0;
         }
     Bitmap bm = new Bitmap(ibOriginal.Image.Bitmap.Width, ibOriginal.Image.Bitmap.Height);
     Skeletonizator s = new Skeletonizator(bit);
     int[,] sk = new int[ibOriginal.Image.Bitmap.Height, ibOriginal.Image.Bitmap.Width];
     sk = s.SkeletonZhangSuen();
     for (int i = 0; i < ibOriginal.Image.Bitmap.Height; i++)
         for (int j = 0; j < ibOriginal.Image.Bitmap.Width; j++)
         {
             if (sk[i, j] == 1)
                 bm.SetPixel(j, i, Color.Red);
             else
                 bm.SetPixel(j, i, Color.White);
         }
     ibProcessed.Image = new Image<Bgr, byte>(bm);
     toolStripStatusLabel1.Text = "Скелет изображения построен.";
 }