我试图识别手写体数字一行。 目前我做一些预处理与Python和OpenCV,图像分割成连接的组件和饲料这些组件超正方体与PSM = 10(页面分割模式,10是“治疗图像等单个字符”)和字符白名单限于“0123456789 ”。 我希望正方体到我的连接的组件分割失败,当我分割成功恰好返回一个数字返回垃圾。 正方体经常返回什么都没有。
我曾经尝试都pytesseract和蟒蛇,正方体的正方体界面为Python。 Pytesseract的工作原理是找到可执行tesseract.exe
,从外壳合适的参数运行它,并收集答案。 这是我发现了我的问题。 在那之后,我试图蟒-的tesseract,它实现了一个全面的C API。 当然,结果是一样的。
下面是5个图像I送入超正方体分开(我还上传相同的图像作为单独文件的样本这里 ):
我得到1,* 4,*,*这些图像,*意味着正方体只返回空白。
与其他网页分割模式,我得到如下:
PSM_SINGLE_CHAR: 1*4**
PSM_SINGLE_BLOCK_VERT_TEXT: **43*
PSM_CIRCLE_WORD: 11***
PSM_SINGLE_LINE: 11491
PSM_AUTO: *****
PSM_SPARSE_TEXT: *****
PSM_SINGLE_WORD: 11499
PSM_AUTO_ONLY: *****
PSM_SINGLE_COLUMN: *****
PSM_SPARSE_TEXT_OS: *****
PSM_SINGLE_BLOCK: 11499
PSM_OSD_ONLY: *****
PSM_AUTO_OSD: *****
PSM_COUNT: 11499
古怪,当我运行tesseract image.png image -l eng -psm 10 digits-only
对这些图像,它返回*,*,4,9,*。 ( digits-only
是tessedit_char_whitelist 0123456789
)
如何强制正方体给我一些答案,而不是什么都没有?