对于一个项目,我试图使用网络摄像头拍照,然后通过使用Tesseract dll的Tess4j API对其进行OCR。
我从源代码构建了一个Tess4j jar,并将其包含在我的项目中。我添加了liblept168.dll和libtesseract302.dll文件以及Tess4j提供的tessdata配置。在我的第一次测试中,我发现Tess4j在识别提供的文本时不是很准确。更具体地说,对于http://i.imgur.com/Iuj6roB.png上的图片,它找到了文本
The fqUíCk) brown ifoxš
Jumps! over the
$3,456.78 <lazy>?90 dog
& duck/goose, as 12.5%
of E-mail from aspammerß
website.com is spam? ;
现在我尝试训练Tesseract以提高准确性。为此,我在Windows 8.1机器上安装了Tesseract 3.02,并通过命令行创建了一个盒子文件。现在在CowBoxer中打开它,它将文本识别为
The (quiCk) brown {fox}
Jumps! over the
$3,456.78 <1azy>fi90 dog
& duck/goose, as 12.5%
of E-mai1 from aspammer@
website.com is spam?
这是一个非常显着的差异。它切换1和l,但这是预期的,因为这些在我使用的字体中是相同的。怎么会有这么大的差异,更具体地说,我怎样才能让Ttess4j使用与我当地的Tesseract相同的配置。出于便携性原因,我无法在程序运行的机器上安装Tesseract。