C# - 无法访问已被使用的文件 - Iron OCR

我正在使用“iron OCR”,比如“Tesseract”来检测和扫描屏幕截图中的某些文本。

现在我有以下错误。每次使用 iron OCR 扫描图像中的文本时,它都会尝试访问 iron OCR 日志文件,该文件之前仍以某种方式被进程使用。所以每次我收到错误消息时,它无法访问日志文件,因为它已经在使用中。尽管如此,扫描仍然有效,我得到了一个有效的结果,即使它因为那个错误给了我一个例外。

我的程序是这样工作的:

  1. 它会截取我屏幕某些区域的屏幕截图。
  2. 它使用 iron OCR 分析该图像并查找文本。
  3. 这个过程会无限重复。

我有以下代码:

//------------------------- # Capture Screenshot of specific Area # -------------------------\\

Rectangle bounds3;
Rect rect3 = new Rect();
bounds3 = new Rectangle(rect3.Left + 198,rect3.Top + 36,rect3.Right + 75 - rect3.Left - 10,rect3.Bottom + 30 - rect3.Top - 10);
CursorPosition = new Point(Cursor.Position.X - rect.Left,Cursor.Position.Y - rect.Top);

Bitmap result3 = new Bitmap(40,14);

using (Graphics g = Graphics.FromImage(result3))
{
   g.CopyFromScreen(new Point(bounds3.Left,bounds3.Top),Point.Empty,bounds3.Size);
}

//------------------------- # Analyze Image for Text # -------------------------\\

var Ocr = new ironTesseract();
using (var Input = new OcrInput(result))
{
   Input.Contrast();
   Input.EnhanceResolution(300);
   Input.Invert();
   Input.Sharpen();
   Input.ToGrayScale();
                   
   try 
   { 

 //------------------- # This causes the Error - Using Try Catch to Ignore it # -------------------\\
      var Result = Ocr.Read(Input);                                            
      text = Result.Text;                                                     
  
   }
   catch
   {
   }
             
}

也仅使用“1 行代码”删除以上所有内容会给出相同的错误消息:

var Result = new ironTesseract().Read(@"images\image.png").Text;

我希望有人能帮我弄清楚究竟是什么导致了这个问题。

jiaqliu 回答:C# - 无法访问已被使用的文件 - Iron OCR

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1164021.html

大家都在问