image - 如何将图像转换为表格

标签 image type-conversion gif ods

我有一张 table 的图像(在我的例子中是 .gif)并想提取它原来的 table (理想情况下是 .ods)。

有什么办法吗? (手动执行被丢弃,因为该表有超过 1000 行和 6 列)

这是图像/表格的一部分:
enter image description here

最佳答案

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

首先要做的是确保您拥有 OCR 软件的高质量图像:

这是我对您的示例 png 所做的(我使用的是 Windows):

  • 我在 The Gimp 打开图片.
  • 删除了橙色/蓝色背景:

    a) 选择 -> 按颜色并单击蓝色背景

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

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

    d) Ctrl-Shift-A 取消选择
  • 我删除了部分切断的“305”行:

    a) 使用调色板中的矩形选择工具按钮,并用 BG 颜色填充选区,如上
  • 让我们移除表格边框:

    a) 单击调色板中的“模糊选择”工具按钮

    b) 单击表格边框上的某处(您应该看到“行进的 Ant ”而不是边框​​)

    c) 编辑 -> 填充 BG 颜色

    d) Ctrl-Shift-A 再次取消选择
  • 我们需要增加数字使用的像素数,以便 OCR 可以更好地检测它们的形状

    a) 图像 -> 缩放图像。我选择使用线性插值按 1000% 进行缩放(其他插值效果不佳)
  • 下载安装 Tesseract from GitHub

    a) 在命令提示符下键入(包括双引号以处理路径中的空格,并根据需要更改路径):
    "D:\Program Files (x86)\Tesseract-OCR\tesseract""d:\temp\your_image.png""d:\temp\your_txt_file_output"
  • 输出是带有附加 .txt 的文本文件延期。它仍然会有一些工件,但我们可以轻松地在 Notepad++(或类似的)中更正这些:

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

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

    c) 数字中仍然有一些空格,所以我用“”(带有空替换的空格)进行了“查找和替换”

  • 这给出了以下结果:

    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 处的问号。这样的事情还是需要整理的。

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

    关于image - 如何将图像转换为表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43498299/

    相关文章:

    vba - 将 TextBox.Value 转换为 Double 到 VBA (Excel 2013)

    c - Pelles C 和 GCC 在这个 C 素性测试中给出了不同的结果

    c++ - 如何将 AnsiString 转换为 char?

    jquery - Gif 图片卡在 chrome 中

    Java webapp图片文件上传最佳实践

    Python:重命名多个图像文件

    javascript - 在新窗口中打开更大版本的图片/w javascript

    image - 具有相同 imageSource 的多个图像并不总是加载 (Xamarin)

    css - 如何将js时钟对准页面中心?

    Java:d​​rawImage 动画 gif 卡住在第一帧