我想看看是否可以扫描课程的签到表。好消息是我知道 90% 的可能写的名字。
我的想法是使用 tessaract 解析名称图像,然后使用 Levenshtein 算法将每一行与我数据库中的名称列表进行比较,如果我得到相当接近的匹配,那么这个名称是正确的。
这种方法听起来不错吗?如果没有,还有其他想法吗?
我尝试在样本表上使用 tesseract(见下文)
我用了:
tesseract simple.png -psm 4 outtxt
Tesseract Open Source OCR Engine v3.05.01 with Leptonica
Warning. Invalid resolution 0 dpi. Using 70 instead.
Error in boxClipToRectangle: box outside rectangle
Error in pixScanForForeground: invalid box
我假设它不喜欢第 2 行,因为我低于该行。
我得到的结果是:
1.. AM: (harm;
l. ’E (J 22 a 00k
2‘ wau \\) [HQ
4. KIM TAYLOE
5. LN] Davis
6‘ Mzflé! Ha K
显然不是最好的,我的猜测是 4 和 5 的距离匹配会起作用,但其余的甚至不接近。
我可以控制我的签到表,但不能控制进来的人的笔迹,所以如果我可以做任何更改以提供帮助,请告诉我。