PeterLeelilipeng 2024-05-27 09:02 采纳率: 100%
浏览 5
已结题

C#如何使用tesseract获取文字的xy

最近在使用tesseract.ocr来做文字识别,全部署完后效果不错,只是没有位置信息,有知道怎么获取位置信息吗?

var engine = new TesseractEngine(@"D:\Program Files\Tesseract-OCR\tessdata", "chi_sim+eng", EngineMode.Default);
var img = Pix.LoadFromFile(path);
var page = engine.Process(img);
var text = page.GetText();
  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-05-27 09:02
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    要使用 Tesseract 在 C# 中获取文字的 xy 坐标位置信息,你需要使用 Tesseract 的一些高级功能来获取文字的边界框(bounding boxes)。以下是一些相关的代码实现和参考资料:

    代码实现

    以下是一个示例代码,展示了如何使用 Tesseract.NET SDK 获取文字的 xy 坐标:

    using Tesseract;
    using Tesseract.Pix;
    
    // 创建 Tesseract 实例
    var engine = new TesseractEngine(@"./tessdata", "chi_sim+eng", EngineMode.Default);
    
    // 加载图像
    using (var image = Pix.LoadFromFile(path))
    {
        // 处理图像
        using (var page = engine.Process(image))
        {
            // 获取文字的 xy 坐标
            var iter = page.GetIterator();
            PageIteratorLevel level = PageIteratorLevel.RIL_WORD;
            
            do
            {
                // 根据迭代器级别获取边界框
                var rect = iter.GetBoundingBox(level);
                if (rect != null)
                {
                    // rect 包含了文字的 x, y, width, height 信息
                    int x = rect.Left;
                    int y = rect.Top;
                    int width = rect.Width;
                    int height = rect.Height;
    
                    // 打印坐标信息
                    Console.WriteLine($"Word bounding box: x={x}, y={y}, width={width}, height={height}");
                }
            }
            while (iter.Next(level) && level > PageIteratorLevel.RIL_BLOCK);
        }
    }
    

    参考资料

    1. 使用 Tesseract 在 C# 中进行光学字符识别(OCR)完整教程[^1^]:这篇文章提供了一个完整的教程,介绍了如何在 C# 中使用 Tesseract 进行 OCR,包括基本的安装和配置步骤。

    2. Tesseract4.1.0获得文本框坐标信息[^4^]:这篇文章详细介绍了如何使用 Tesseract 获取文本框的坐标信息,包括代码示例和函数原型。

    3. 如何获取已识别字符的坐标[^5^]:这篇文章提供了一个简单的方法来获取已识别字符的坐标,使用 Tesseract 的命令行工具。

    通过这些资料和代码示例,你应该能够实现在 C# 中使用 Tesseract 获取文字的 xy 坐标位置信息。如果你需要进一步的帮助或者有其他问题,请随时提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 创建了问题 5月27日

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂