我一直试图使用普通的tesseract 3 OCR,使用不同的选项从一个字母表中获取数据,我的学生将其中一个标记为多项选择题的答案,如下所示:
最好的产出之一是:
EEEEEEEEEEEEEEEEEEEEEEEEE
DDDDDDDDDDDDDDDDDDDDDDDDD
CCCCCCCCCCCCCCCCCCCCCCCCC
BBBBBBBEBBBBBBBBBBBBBBBBB
AAAAAAAAAAAAAAAAAAAAAAAAA
6789012345678901234567890
2222333333333344444444445
EEEEE EEEE EE EEE EEEEEEE
DDDDDD DDD DDDDDDDDDDDD
CCCCCCCCCCCCCCCCCC CCCCC
B BEBE BB BBBBBBBBBBBBBBB
AA AAA AAAAA AAAAAAAA
1234567890123455789012345
OOOOOOOOO1111111111222222
我知道我可以解析那个.txt并得到一个更好的结果,但是它遗漏了很多信息,并且从一些绘制的块中得到了字母。
我想知道怎样才能让这个案子有更好的结果。
我还希望有一张表,其中的绘制块以不同的字符出现,例如,对于图像的第一行和第二行:
01 A B C - E 26 A B C D E
02 A - C D E 27 A B C D E
如果你们有类似的经验,任何信息都将不胜感激!提前感谢!
发布于 2014-04-30 00:47:48
首先,我建议你对你的图像进行预处理,例如使黑暗的部分变暗,使它模糊一点。请随时尝试,直到Tesseract停止在填入方格中看到字母。
第二,你有两个选择:
总之,我就是这么做的:
$ convert CDZjN.png -deskew 40% -contrast-stretch 7%x10% -filter lanczos -resize 250% ooo.png
t.conf
,禁用垂直文本检测和英语字典:textord_tabfind_vertical_text 0 load_system_dawg 0 load_freq_dawg 0 load_punc_dawg 0 load_number_dawg 0 load_unambig_dawg 0 load_bigram_dawg 0 load_fixed_length_dawgs 0
$ tesseract ooo.png ooo t.conf ; cat ooo.txt Tesseract Open Source OCR Engine v3.02 with Leptonica 01ABC-E 26ABCDE 02A CDE 27ABCDE o3 BCDE 28ABCDE o4 BCDE 29ABCDE o5 BCDE 30ABCDE 06ABCD. 31ABCDE 07A-CDE 32ABCDE 08ABC.E 33ABCDE o9 BCDE 34ABCDE 10A CDE 35ABCDE 11ABCD 36ABCDE 12ABC E 37ABCDE 13ABC E 38ABCDE 14ABCD 39ABCDE 15 BCDE 40ABCDE 1s BCDE 41ABCDE 17 BCDE 42ABCDE 18ABCD_ 43ABCDE 19AB DE 44ABCDE 20AB DE 45ABCDE 21ABCDE 46ABCDE 22ABCDE 47ABCDE 23ABCDE 48ABCDE 24ABCDE 49ABCDE 25ABCDE 50ABCDE
不是完美无缺,但还可以。
https://stackoverflow.com/questions/22646417
复制相似问题