Самость Тессеракта терпит неудачу и закрывается - PullRequest
0 голосов
/ 12 апреля 2020

После запуска в течение 1 часа мое приложение для обработки изображений, использующее Teserract, вылетает:

System.AccessViolationException: 'Попытка чтения или записи защищенной памяти. Обычно это признак того, что другая память повреждена. '

error message

try
{
    IWebElement ttID = driver.FindElement(By.CssSelector("div#root div.captcha__container > img"));

    pictureBox1.ImageLocation = ttID.GetAttribute("src");
    Thread.Sleep(2000);

    var img = new Bitmap(pictureBox1.Image);
    var ocr = new TesseractEngine("./tessdata", "eng");
    var sonuc = ocr.Process(img);
    richTextBox1.Text = sonuc.GetText();
    if (infoCheckBox.Checked == true)
    {
        durum.Text = "otomatik çözme deneniyor...";
        Yandexİleri();
    }
    durum.Text = "otomatik çözme denendi.";
}
catch
{
    baslat_kodlari();
}

1 Ответ

0 голосов
/ 12 апреля 2020

Мое подозрение - утечка памяти, надеюсь, это поможет:

try
{
    IWebElement ttID = driver.FindElement(By.CssSelector("div#rootdiv.captcha__container > img"));
    pictureBox1.ImageLocation = ttID.GetAttribute("src");
    Thread.Sleep(2000);

    using (var img = new Bitmap(pictureBox1.Image))
    {
        var ocr = new TesseractEngine("./tessdata", "eng");
        var sonuc = ocr.Process(img);
        richTextBox1.Text = sonuc.GetText();
        if (infoCheckBox.Checked == true)
        {
            durum.Text = "otomatik çözme deneniyor...";
            Yandexİleri();
        }
        durum.Text = "otomatik çözme denendi.";
    }
}
catch
{
    baslat_kodlari();
}``
...