【发布时间】:2014-01-09 07:30:15
【问题描述】:
我正在尝试与tesseract API 进行交互,我也是图像处理的新手,最近几天我一直在努力解决这个问题。我尝试过简单的算法,准确率达到了 70% 左右。
我希望它的准确率达到 90+%。图像的问题在于它们是 72dpi。我还尝试提高分辨率,但没有得到很好的结果,我试图识别的图像被附加。
任何帮助都将不胜感激,如果我问了一些非常基本的问题,我很抱歉。
编辑
我忘了提到我正在尝试在Linux 平台上在 2-2.5 秒内完成所有处理和识别,并且检测此答案中提到的文本的方法需要很多时间。另外我不喜欢使用命令行解决方案,但我更喜欢Leptonica 或OpenCV。
大部分图片上传here
我尝试了以下方法来二值化门票,但没有成功
- http://www.vincent-net.com/luc/papers/10wiley_morpho_DIAapps.pdf
- http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.193.6347&rep=rep1&type=pdf
- http://iit.demokritos.gr/~bgat/PatRec2006.pdf
- http://psych.stanford.edu/~jlm/pdfs/Sternberg67.pdf
票包含
- 一点点坏光
- 非文本区域
- 分辨率较低
我尝试将图像直接提供给 tesseract API,它在平均 1 秒内给了我 70% 的好结果。但我想提高注意时间因素的准确性到目前为止我已经尝试过
- 检测图像的边缘
- Blob 的 Blob 分析
- 使用自适应阈值对票据进行二值化
然后我尝试将这些二值化图像提供给 tesseract,虽然二值化图像看起来很完美,但准确率降低到了 50-60% 以下。
【问题讨论】:
-
不确定您的问题是什么,您是否有任何代码可以解决问题所在?
标签: c++ opencv image-processing ocr tesseract