我一直在尝试将tesseract引擎训练为使用七种数字字体编写数字的ocr图像。
并且,经过搜索,结果证明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
我的主要问题是数字在深绿色背景上用黑色书写。 结果如下
原始图片:
方法2: 我尝试使用k-means或c-means算法,但结果没有那么好。
方法5: 将原始图像传递给tesseract而不进行任何图像处理并输出结果图像(Tesseract使用leptonica在内部进行图像处理)。
我也尝试了各种样本而不是这个样本并尝试使用Gimp image processing中的步骤来增强图像,但是没有任何对我有用。 有什么建议? 谢谢!