我有一张 table 的图像(在我的例子中是 .gif)并想提取它原来的 table (理想情况下是 .ods)。
有什么办法吗? (手动执行被丢弃,因为该表有超过 1000 行和 6 列)
这是图像/表格的一部分:
最佳答案
您将能够通过 OCR 获得大部分数据,但您需要手动验证数据并修复一些可能存在的不准确之处。绝对不会是完美的。
首先要做的是确保您拥有 OCR 软件的高质量图像:
这是我对您的示例 png 所做的(我使用的是 Windows):
a) 选择 -> 按颜色并单击蓝色背景
b) 我按住 Shift 并单击橙色背景(这会将其添加到当前选择中)
c) 编辑 -> 填充 BG 颜色(这将其设置为白色)
d) Ctrl-Shift-A 取消选择
a) 使用调色板中的矩形选择工具按钮,并用 BG 颜色填充选区,如上
a) 单击调色板中的“模糊选择”工具按钮
b) 单击表格边框上的某处(您应该看到“行进的 Ant ”而不是边框)
c) 编辑 -> 填充 BG 颜色
d) Ctrl-Shift-A 再次取消选择
a) 图像 -> 缩放图像。我选择使用线性插值按 1000% 进行缩放(其他插值效果不佳)
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/