代码之家  ›  专栏  ›  技术社区  ›  Agfasion

如何用C从内存中的图像中获取文本#

  •  1
  • Agfasion  · 技术社区  · 2 年前

    我试图创建一个简单的应用程序,从屏幕上的一个区域读取文本。 我设法用Tesseract和Ocr做到了这一点,但没有问题,只是从一个文件开始。

    这是我的代码:

     using (var bm = new Bitmap(680, 280))
                {
                    using (var gr = Graphics.FromImage(bm))
                    {
                        gr.CopyFromScreen(-1355, 430, 0, 0, bm.Size);
                        bm.Save(@"D:\test2.png", System.Drawing.Imaging.ImageFormat.Png);
                        // The image is saved in a file
    
                        // If required, the image can be converted to bitmap
                        Bitmap myBitmap = new Bitmap(bm.Width, bm.Height, gr);
    
    
                        // Get the text now
                        var Ocr = new IronTesseract
                        {
                            Language = OcrLanguage.French
                        };
    
                        using (var Input = new OcrInput())
                        {
                            Input.AddImage(@"D:\test2.png");
    
                            OcrResult Result = Ocr.Read(Input);
                            MessageBox.Show(Result.Text);
                        }
    
                    }
    
                }
    

    它工作得很好,但我想在不保存图像的情况下完成它。

    我找不到任何办法做那样的事

     using (var Input = new OcrInput())
                        {
                            Input.AddImage(myBitmap);
    
                            OcrResult Result = Ocr.Read(Input);
                            MessageBox.Show(Result.Text);
                        }
    

    我只知道如何从图像中读取文本 文件 .

    如果没有文件,只使用位图变量,我怎么能做到这一点?

    0 回复  |  直到 2 年前
    推荐文章