如何将图像转换为 table

How to convert image to table

我有一张 table 的图片(在我的例子中是 .gif),我想提取 table 的图片(最好是 .ods)。

有什么办法吗? (手动操作是不可行的,因为 table 有超过 1000 行和 6 列)

这是图片的一部分/table:

您将能够通过 OCR 获得大部分数据,但您需要手动验证数据并修复一些不准确的地方。绝对不会完美。

首先要做的是确保您拥有用于 OCR 软件的优质图像:

这是我对你的样本 png 所做的(我正在使用 Windows):

  1. 我在The Gimp中打开了图片。
  2. 删除了 orange/blue 背景:

    a) Select -> 按颜色并点击蓝色背景

    b) 我按住 Shift 并单击橙色背景(这会将其添加到当前选择)

    c) 编辑 -> 填充 BG 颜色(将其设置为白色)

    d) Ctrl-Shift-A取消选择

  3. 我删除了部分截断的“305”行:

    a) 使用调色板中的矩形 Select 工具按钮,并用 BG 颜色填充选区,如上

  4. 让我们删除 table 边框:

    a) 单击调色板中的 'Fuzzy Select' 工具按钮

    b) 单击 table 边框上的某处(您应该看到 'marching ants' 而不是边框​​)

    c) 编辑 -> 填充 BG 颜色

    d) Ctrl-Shift-A再次取消选择

  5. 我们需要增加数字使用的像素数量,以便 OCR 能够更好地检测它们的形状

    a) 图像 -> 缩放图像。我选择使用线性插值按 1000% 缩放(其他插值也不起作用)

  6. 下载并安装Tesseract from GitHub

    a) 在命令提示符下键入(包括双引号以应对路径中的 spaces,并根据需要更改路径): "D:\Program Files (x86)\Tesseract-OCR\tesseract" "d:\temp\your_image.png" "d:\temp\your_txt_file_output"

  7. 输出是一个附加了 .txt 扩展名的文本文件。它仍然会有一些瑕疵,但我们可以在 Notepad++(或类似工具)中轻松更正这些瑕疵:

    a) 逗号被视为句号,所以我对“.”进行了查找和替换。带“,”(我​​假设您的数据中没有任何小数点!)

    b) 在几个逗号之前有一些 space,所以我查找并用“,”替换了“,”(注意我在 Find 中的逗号之前包含了一个 space )

    c) 数字中还有一些 space,所以我用“”查找并替换了“”(space 替换为空)

结果如下:

298
299
300
301
302
303
304

910,820,000
920,820,000
930,820,000
941,820,000
952,820,000
983,820,000
9?4,820,000

210,000
220,000
220,000
220,000
220,000
220,000
220,000

2,500
2,500
3,000
3,000
3,000
3,000
3,000

19,000
19,000
20,000
20,000
20,000
20,000
20,000

注意第二个文本块中 7 位置的问号。诸如此类的事情还需要收拾一下。

最后,您将文本行复制并粘贴到电子表格等中。

我想 post 我终于在网上找到的另一个选择。

https://convertio.co/es/ocr/

尽管我认为 K Scandrett 的答案应该是正确的,因为它不依赖于 URL,这可能会下降。

如果这是 one-time/rare 需要并且您是 windows OS 用户并且您安装了 Microsoft Excel,应用程序支持将图像数据提取到 excel。按照 this link 获取完整参考。