linux从图像中的表格中获取文本

时间:2014-09-12 09:25:35

标签: linux imagemagick ocr

我有以下格式的数百张图片。我想从标题检测器2结果下面的表中提取键值文本。即关键同位素,值Tc99m,关键峰值,值140.3 kEV。显然,我更喜欢在bash脚本中执行此操作,而不是手动浏览每个图像。我听说过像imagemagick和ocr这样的工具似乎可以做我想要的。但是,我没有任何工具的经验。我该如何处理这个问题并且可以解决?

我是否最好裁剪包含表格的大致区域,在运行ocr之前进行一些对比度调整以清除文本?

enter image description here

1 个答案:

答案 0 :(得分:1)

我的情况非常相似。而不是识别kEV我必须匹配工资报告中的员工识别号码。我的方法如下:将图像裁剪到具有数字的区域,OCR裁剪图像,最后读取文本文件。我使用的工具:用于一般批处理作业和页面迭代的PHP脚本,用于将PDF转换为PNG的imagemagick,用于裁剪图像的PHP GD库并将它们保存为PNG(请注意imagemagick具有用于裁剪的命令行支持),最后Tesseract到OCR文本。我发现,如果图像是B& W并且是计算机生成的,Tesseract是非常可靠的,只要它具有高分辨率。在我的情况下,单个数字约为11x18像素。

显然你应该知道如何用IM(http://www.imagemagick.org/Usage/crop/)裁剪图像以及如何自动调整它(http://fmwconcepts.com/imagemagick/autolevel/index.php没有尝试过它)。首发的裁剪示例如下。但是我相信你需要更大的分辨率。还要避免将表边传递给OCR。

convert yrhxY.png -crop 44x12+146+204 -negate output.png

最后回答你的问题:是 - 第一次裁剪,然后是OCR。