我有一个包含1900多个GIF图像链接条目的CSV文件。
每张图片都包含一个电子邮件地址。
我想以编程方式读取每个条目并将它们转换为相应的文本,最好是在另一个或相同的CSV文件中。我使用Mac OS,而更喜欢使用Python或Java来实现这一目标。
如何使用OCR或任何其他方法进行操作?我们将非常感谢示例代码。
我已尝试过tesseract进行样本输入,但结果并不准确。这是我试过的:
$ tesseract email.gif out
email.gif 如下:
greentours2010@yahoo.com
out.txt 中生成的输出为:
gveen|L7uvs2fl1fl@yahLm cum
CSV文件如下所示(前2个条目):
这是我在SO的第一个问题。如果我遗漏了任何其他相关信息,请道歉。我很乐意提供更多。
答案 0 :(得分:3)
更新了答案
您的图片相当小,并且块状用于tesseract ...
你可以使用ImageMagick更好地扩大它们并使它们锐化:
convert email.gif -resize 600x -unsharp 0x8 -threshold 95% x.png # Enlarge and sharpen
tesseract x.png text # OCR
<强>结果强>
tour@chworldtraveI.com
如果您的CSV文件看起来像您的示例,则称为file.csv
http://d1hnc0v5nyu4l2.cloudfront.net/kh/communications/original/1417577580/C2AFA720-7A9C-11E4-9201-22000AA51306?1417577580
http://d306v9rz034cgu.cloudfront.net/kh/communications/original/1367212416/55BE4627-B463-4523-8332-4046835D3D79?1367212416
#!/bin/bash
while read f; do
convert "$f" -resize 600x -unsharp 0x8 -threshold 95% image.png
tesseract image.png text
grep "[a-z0-9]" text.txt >> results.txt
done < file.csv
您的文件results.txt
将有
sale@myeIitetour.net
cambodia]et@onIine.com.kh
如果您确实打算在OSX上使用ImageMagick
或tesseract
,请考虑使用homebrew
进行安装。它会让你的生活更轻松。问你是否不知道如何。
原始答案
嗯,这可能是使用tesseract
的开始。基本上,您传递输入图像文件的名称(在我的示例中为email.png
)和输出文本文件的基础,如下所示:
tesseract email.png text -psm 7
然后你会得到一些文件text.txt
,就像这样
lmAV@chwL7v\d1vave\z:um
您可以尝试各种不同的参数和策略来清理输入文件,可能使用ImageMagick。
由于您没有说明您使用的是哪种操作系统,或者您的CSV文件是什么样的,因此目前很难再提供帮助。