首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >训练Tesseract 3从燃气表的真实图像中识别数字

训练Tesseract 3从燃气表的真实图像中识别数字
EN

Stack Overflow用户
提问于 2011-07-18 21:21:23
回答 4查看 6.9K关注 0票数 9

我正在尝试训练tesseract从燃气表的真实图像中识别数字。

我用于训练的图像是用相机制作的,因此有许多问题:图像分辨率低,图像模糊,由于过度曝光,反射,阴影等造成的照明不良或对比度低……

为了进行训练,我创建了一个大图像,其中包含燃气表图像捕获的一系列数字,并手动编辑文件框以创建.tr文件。结果是,tesseract只能识别更清晰和更锐利的图像的数字,而不能捕获模糊图像的数字。

EN

回答 4

Stack Overflow用户

发布于 2013-11-05 19:52:38

据我所知,你需要OpenCV来识别数字所在的方框,但OpenCV不是光学字符识别的上帝。找到box后,只需裁剪该部分,进行图像处理,然后将其交给tesseract进行OCR。

因为我不知道如何用OpenCV编程,所以我需要OpenCV方面的帮助。

这里有几个真实世界的例子。

OCR是原始图像(裁剪后的功率表numbers)

  • Second图像在GIMP中略微清理过图像,tesseract

  • Third图像中约50%的
  • 准确率是完全清理过的图像- 100%无需任何训练即可识别!

票数 2
EN

Stack Overflow用户

发布于 2012-08-20 02:30:42

我会先尝试这个简单的ImageMagick命令:

代码语言:javascript
运行
复制
 convert          \
    original.jpg  \
   -threshold 50% \
    result.jpg

(使用50%参数--尝试使用更小和更高的值...)

对于每个颜色通道,阈值处理基本上只留下2个值,0或最大值。低于阈值的值被设置为0,高于阈值的值被设置为255 (如果以16位深度工作,则为65535 )。

根据您的original.jpg,您可能会有一个光学字符识别功能,工作,非常高的对比度图像的结果。

票数 1
EN

Stack Overflow用户

发布于 2014-01-11 01:12:59

我建议你:

  • 使用一个工具来编辑方框,如jTessBoxEditor,它是如此的有用,让你赢得一段时间。你可以很容易地安装它从here
  • it's训练实际情况的字母(嘈杂,模糊)的好主意。你的训练集仍然是有限的,你可以添加更多的训练样本。
  • 我建议你自己使用Tesseract的API来增强图像(去噪,规格化,锐化...)例如:Boxa * tesseract::TessBaseAPI::GetConnectedComponents(Pixa** pixa) (它允许您找到每个字符的边界框)

Pix* pimg = tess_api->GetThresholdedImage();

Here你能找到的例子很少

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6733533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档