C# OpenCvSharp Удаление водяных знаков Восстановление изображений.rar

C# OpenCvSharp Watermark Removal Image Repair.rar.

38.05MBRAR

C# OpenCvSharp Удаление водяных знаков Восстановление изображений.rar

Полная демоверсия, готовая к работе

спортивное мероприятие

VS2022+.net4.8+OpenCvSharp4

кодирование

используя System.

Generic; using System.Collections.

используя System.ComponentModel.

используя System.Data.

используя System.Drawing.

используя System.IO.

используя System.Linq.

using System.Security.Cryptography.

using System.Text.

используя System.Windows.Forms.

используя OpenCvSharp.

используя OpenCvSharp.Extensions.

пространство имен OpenCvSharp_Удаление водяных знаков_Восстановление изображения

{

  public partial class Form1 : Form

  {

    public Form1()

    {

      InitializeComponent();

    }

    Растровое изображение bmp.

    string fileFilter = "*. *|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";

    string imgPath = "";

    public Mat img, img0, inpainted, inpaintMask;

    Инт толщина = 10;

    string CommandText.

    InpaintMethod inpaintMethod.

    ListItem li;

    private void Form1_Load(object sender, EventArgs e)

    {

      this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);

      this.UpdateStyles();

      //Добавить элемент:

      cBoxThresholdTypes.Items.Add(new ListItem("NS", InpaintMethod.NS));

      cBoxThresholdTypes.Items.Add(new ListItem("Telea", InpaintMethod.Telea));

      //Установите выбор:

      cBoxThresholdTypes.SelectedIndex = 0; //по индексу

    }

    private void trackBar2_Scroll(object sender, EventArgs e)

    {

      толщина = trackBar2.Value;

    }

    private void button1_Click(object sender, EventArgs e)

    {

      OpenFileDialog ofd = новый OpenFileDialog();

      ofd.Filter = fileFilter;

      if (ofd.ShowDialog() ! = DialogResult.OK) return;

      imgPath = ofd.FileName;

      bmp = new Bitmap(imgPath);

      pictureBox1.Image = bmp;

      img0 = Cv2.ImRead(imgPath);

      inpaintMask = new Mat(img0.Size(), MatType.CV_8U, Scalar.Black);

      pictureBox2.Image = BitmapConverter.ToBitmap(inpaintMask);

      PictureBox3.Image = null;

    }

    private void cBoxThresholdTypes_SelectedIndexChanged(object sender, EventArgs e)

    {

      Inpaint().

    }

    private void trackBar1_Scroll(object sender, EventArgs e)

    {

      Inpaint().

    }

    private void button4_Click(object sender, EventArgs e)

    {

      if (pictureBox1.Image == null)

      {

        возвращение;

      }

      img = img0.Clone();

      inpaintMask = new Mat(img0.Size(), MatType.CV_8U, Scalar.Black);

      inpainted = img0.EmptyClone();

      Window wImage = new Window("image", img);

      OpenCvSharp.Point prevPt = new OpenCvSharp.Point(-1, -1);

      wImage.SetMouseCallback((MouseEventTypes ev, int x, int y, MouseEventFlags flags, IntPtr userdata) =>

      {

        if (ev == MouseEventTypes.LButtonUp || (flags & MouseEventFlags.LButton) == 0)

        {

          prevPt = new OpenCvSharp.Point(-1, -1);

        }

        else if (ev == MouseEventTypes.LButtonDown)

        {

          prevPt = new OpenCvSharp.Point(x, y);

        }

        else if (ev == MouseEventTypes.MouseMove && (flags & MouseEventFlags.LButton) ! = LButton) !

        {

          OpenCvSharp.Point pt = новая OpenCvSharp.Point(x, y);

          если (prevPt.X < 0)

          {

            prevPt = pt;

          }

          inpaintMask.Line(prevPt, pt, Scalar.White, thickness, LineTypes.AntiAlias, 0);

          pictureBox2.Image = BitmapConverter.ToBitmap(inpaintMask);

          img.Line(prevPt, pt, Scalar.White, thickness, LineTypes.AntiAlias, 0);

          prevPt = pt;

          wImage.ShowImage(img);

        }

      });

      попробуйте

      {

        для (; ; )

        {

          switch ((char)Window.WaitKey(0))

          {

            case (char)27: // exit

              возвращение;

            case 'r'.

              inpaintMask.SetTo(Scalar.Black);

              pictureBox2.Image = BitmapConverter.ToBitmap(inpaintMask);

              img0.CopyTo(img);

              wImage.ShowImage(img);

              перерыв;

            case 'i'.

            случай '\r'.

              Inpaint().

              перерыв;

          }

        }

      }

      наконец-то

      {

        Window.DestroyAllWindows();

      }

    }

    private void button3_Click(object sender, EventArgs e)

    {

      Inpaint().

    }

    void Inpaint()

    {

      if (pictureBox1.Image == null)

      {

        возвращение;

      }

      li = (ListItem)cBoxThresholdTypes.SelectedItem;

      inpaintMethod = (InpaintMethod)li.Value;

      Cv2.Inpaint(img, inpaintMask, inpainted, trackBar1.Value, inpaintMethod);

      pictureBox3.Image = BitmapConverter.ToBitmap(inpainted);

      CommandText = String.Format("Cv2.Inpaint(src, mask, dst,{0},{1})", trackBar1.Value, inpaintMethod.ToString());

      txtCommandText.Text = CommandText;

    }

  }

}

 

используя System.

Generic; using System.Collections.

используя System.ComponentModel.

используя System.Data.

используя System.Drawing.

используя System.IO.

используя System.Linq.

using System.Security.Cryptography.

using System.Text.

используя System.Windows.Forms.

используя OpenCvSharp.

используя OpenCvSharp.Extensions.

 

пространство имен OpenCvSharp_Удаление водяных знаков_Восстановление изображения

{

  public partial class Form1 : Form

  {

    public Form1()

    {

      InitializeComponent();

    }

 

 

    Растровое изображение bmp.

    string fileFilter = "*. *|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";

    string imgPath = "";

    public Mat img, img0, inpainted, inpaintMask;

    Инт толщина = 10;

    string CommandText.

    InpaintMethod inpaintMethod.

    ListItem li;

 

    private void Form1_Load(object sender, EventArgs e)

    {

      this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);

      this.UpdateStyles();

 

      //Добавить элемент:

      cBoxThresholdTypes.Items.Add(new ListItem("NS", InpaintMethod.NS));

      cBoxThresholdTypes.Items.Add(new ListItem("Telea", InpaintMethod.Telea));

 

      //Установите выбор:

      cBoxThresholdTypes.SelectedIndex = 0; //по индексу

    }

 

    private void trackBar2_Scroll(object sender, EventArgs e)

    {

      толщина = trackBar2.Value;

    }

 

    private void button1_Click(object sender, EventArgs e)

    {

      OpenFileDialog ofd = новый OpenFileDialog();

      ofd.Filter = fileFilter;

      if (ofd.ShowDialog() ! = DialogResult.OK) return;

      imgPath = ofd.FileName;

      bmp = new Bitmap(imgPath);

      pictureBox1.Image = bmp;

      img0 = Cv2.ImRead(imgPath);

      inpaintMask = new Mat(img0.Size(), MatType.CV_8U, Scalar.Black);

      pictureBox2.Image = BitmapConverter.ToBitmap(inpaintMask);

      PictureBox3.Image = null;

    }

 

    private void cBoxThresholdTypes_SelectedIndexChanged(object sender, EventArgs e)

    {

      Inpaint().

    }

 

    private void trackBar1_Scroll(object sender, EventArgs e)

    {

      Inpaint().

    }

 

    private void button4_Click(object sender, EventArgs e)

    {

      if (pictureBox1.Image == null)

      {

        возвращение;

      }

 

      img = img0.Clone();

      inpaintMask = new Mat(img0.Size(), MatType.CV_8U, Scalar.Black);

      inpainted = img0.EmptyClone();

 

      Window wImage = new Window("image", img);

 

      OpenCvSharp.Point prevPt = new OpenCvSharp.Point(-1, -1);

      wImage.SetMouseCallback((MouseEventTypes ev, int x, int y, MouseEventFlags flags, IntPtr userdata) =>

      {

        if (ev == MouseEventTypes.LButtonUp || (flags & MouseEventFlags.LButton) == 0)

        {

          prevPt = new OpenCvSharp.Point(-1, -1);

        }

        else if (ev == MouseEventTypes.LButtonDown)

        {

          prevPt = new OpenCvSharp.Point(x, y);

        }

        else if (ev == MouseEventTypes.MouseMove && (flags & MouseEventFlags.LButton) ! = LButton) !

        {

          OpenCvSharp.Point pt = новая OpenCvSharp.Point(x, y);

          если (prevPt.X < 0)

          {

            prevPt = pt;

          }

          inpaintMask.Line(prevPt, pt, Scalar.White, thickness, LineTypes.AntiAlias, 0);

          pictureBox2.Image = BitmapConverter.ToBitmap(inpaintMask);

          img.Line(prevPt, pt, Scalar.White, thickness, LineTypes.AntiAlias, 0);

          prevPt = pt;

          wImage.ShowImage(img);

        }

      });

 

      попробуйте

      {

        для (; ; )

        {

          switch ((char)Window.WaitKey(0))

          {

            case (char)27: // exit

              возвращение;

            case 'r'.

              inpaintMask.SetTo(Scalar.Black);

              pictureBox2.Image = BitmapConverter.ToBitmap(inpaintMask);

              img0.CopyTo(img);

              wImage.ShowImage(img);

              перерыв;

            case 'i'.

            случай '\r'.

              Inpaint().

              перерыв;

          }

        }

      }

      наконец-то

      {

 

        Window.DestroyAllWindows();

      }

    }

 

    private void button3_Click(object sender, EventArgs e)

    {

      Inpaint().

    }

 

    void Inpaint()

    {

      if (pictureBox1.Image == null)

      {

        возвращение;

      }

 

      li = (ListItem)cBoxThresholdTypes.SelectedItem;

      inpaintMethod = (InpaintMethod)li.Value;

 

      Cv2.Inpaint(img, inpaintMask, inpainted, trackBar1.Value, inpaintMethod);

      pictureBox3.Image = BitmapConverter.ToBitmap(inpainted);

      CommandText = String.Format("Cv2.Inpaint(src, mask, dst,{0},{1})", trackBar1.Value, inpaintMethod.ToString());

      txtCommandText.Text = CommandText;

    }

  }

}

Скачать ресурсЦена загрузки этого ресурса составляет22.0Золотые монеты, пожалуйста, сначала
Скачать ресурс

Заявление о ресурсах (покупка считается согласием с этим заявлением):
1. любая операция в веб-платформе считается прочитал и согласился с нижней части сайта регистрационное соглашение и отказ от ответственности, этот сайт ресурсы были ультра-низкая цена, и не предоставляет техническую поддержку
2. некоторые пользователи сети поделиться сетевой адрес диска может быть недействительным, таких как возникновение сбоев, пожалуйста, отправьте письмо в службу поддержки код711cn#qq.com (замените # на @) будет составлен, чтобы отправить
3. этот сайт предоставляет все загружаемые ресурсы (программное обеспечение и т.д.) сайт, чтобы гарантировать, что никаких негативных изменений; но этот сайт не может гарантировать точность, безопасность и целостность ресурсов, пользователь загружает по своему усмотрению, мы общаемся, чтобы узнать для целей не все исходный код не 100% безошибочно или нет ошибок; вы должны иметь определенную основу, чтобы быть в состоянии читать и понимать код, чтобы быть в состоянии изменить отладку! код и устранять ошибки. В то же время, пользователи данного сайта должны понимать, что Source Code Convenience Store не владеет никакими правами на программное обеспечение, предоставленное для скачивания, авторские права принадлежат законному владельцу ресурса.
4. все ресурсы на этом сайте только для обучения и исследовательских целей, пожалуйста, должны быть удалены в течение 24 часов после загрузки ресурсов, не используйте в коммерческих целях, в противном случае юридические споры, возникающие с сайта и издателя залога ответственности сайта и не будет нести!
5. в связи с воспроизводимым характером ресурсов, приобретенные ресурсы не подлежат возврату, баланс пополнения также не подлежит возврату

充值送金币,用余额购买,低至6.7折!Пополните счет прямо сейчас

Показать капчу
У вас нет аккаунта? зачисление  Забыли пароль?