无法识别Tesseract中的数字 - android

And*_*nik 8 ocr android tesseract

我希望有人能告诉我为什么我的Tesseract无法识别带有数字的图像,如果有什么我可以做的事情.一切都按照测试工作,因为它只是我需要的数字,我以为我可以用英语模式管理,直到我不得不从7分段显示开始.

虽然我对附加的图像有很多麻烦,但我想知道我是否应该开始使用我自己的识别算法,或者我是否可以为Tesseract做我自己的数据集然后它会工作,有谁知道在哪里Tesseract的局限性在于什么?

事情尝试:尝试将psm设置为one_line,one_word,one_char(并切断图片).使用one_line和one_word没有重大变化.使用one_char它确实感觉好一点,但有时候,由于大的间距,它附加了一个额外的数字,然后拧紧它,如果你看附加的图像zero.jpg然后它导致了04.我自己也试图进行二值化,这导致了更差的识别并且非常耗费资源.我试图反转图片,这对于tesseract没有任何区别.

我附上了我需要的照片以供处理.

关于图像的解释:

decodethisimage_seven 这是一个tesseract没有识别的图像,虽然它是为了方便在工作图像周围构建应用程序而制作的.

decodethisimage_eight是与image_seven匹配的真实生活图像.但它无法识别这一点.

decodethisimage_four2 是我想要识别的另一个图像,是的,我知道它不能被浏览,而且我在测试时做了未提取(想想skrew是这里的术语=="直接").

Nik*_*lay 2

我知道一些可能对您有帮助的选项:

  1. 在图像边框和文本之间添加额外的空间。如果图像中的文本位于边缘,那么 Tesseract 的效果会很糟糕。
  2. 复制您的图像。例如,如果您要对单词“foobar”执行 OCR,克隆图像并将“foobar foobar foobar foobar foobar”发送到 tesseract,结果会更好。
  3. 谷歌搜索font trainingtesseract image binarization

请记住,移动设备中的内置摄像头大多会生成低质量的图像(模糊、有噪声、倾斜等)。OCR 本身是一个资源消耗过程,如果您为其添加有价值的图像预处理,那么低端和中端移动设备设备(可能配备 Android)可能会面临性能意外下降甚至资源不足的问题。对于免费/研究项目来说这没问题,但如果您正在计划商业应用程序 - 请考虑使用更好的 SDK。

看看这个问题的详细信息:OCR for android