我一直在努力训练tesseract引擎到ocr图像,这些图像使用七种数字字体编写 .

Seven digital font

并且,在搜索之后,事实证明tesseract将不会分割字体,除非片段以某种方式连接 .

所以,我在图像上使用了侵蚀,这是一个opencv函数来连接段 . http://www.tutorialspoint.com/java_dip/eroding_dilating.htm

然后,在将图像处理到tesseract之前,我使用阈值将图像转换为二进制(此步骤是多余的,因为tesseract内部进行图像二值化) . http://docs.opencv.org/2.4/doc/tutorials/imgproc/threshold/threshold.html

我的主要问题是数字在深绿色背景上用黑色写成 . 结果如下

原始图片:

Original Image to be ocred

方法1:侵蚀和二值化后(我尝试了各种阈值最大值)
Image after binarization

方法2:我尝试使用k-means或c-means算法,但结果并没有好多少 .

方法3:我也试过自适应高斯阈值
Adaptive Gaussian threshold

方法4:自适应均值
Just adaptive mean

方法5:将原始图像传递给tesseract而不进行任何图像处理并输出结果图像(Tesseract使用leptonica在内部进行图像处理) .
Tesseract image processing

我也尝试了各种样本而不是这个样本,并尝试使用Gimp image processing中的步骤来增强图像,但是没有什么对我有用 . 有什么建议?谢谢!