【问题标题】:Recognize coloured text with Tesseract (Tess4J)使用 Tesseract (Tess4J) 识别彩色文本
【发布时间】:2013-09-14 16:06:40
【问题描述】:

我正在使用 Java 和 Tess4J 进行文本识别。我识别黑色和红色图像(分别),都是白色背景,非常清晰。对于黑色的,它可以完美地工作,但对于红色的,tesseract 简直是疯了。我尝试添加变量(“editor_image_text_color”,“RED”),但它根本没有帮助。 现在,我为红色做的是扫描整个图像并将每个红色像素设置为黑色,我发现这非常低效,因为我需要对每个像素进行一些计算,因为图片具有不同的红色强度,我必须保存。 非常感谢!

例如: http://imageshack.us/photo/my-images/593/3eu9.png/ 总是给我 9,但是 http://imageshack.us/photo/my-images/818/efxf.png/ 没有,就像它在预处理中丢失了数字一样,因为黑色的效果非常好,但红色的并不比随机数好。

【问题讨论】:

  • 如果能看到图片样本就好了。听起来有点奇怪,因为 Tesseract 在处理图像之前会进行二值化(据我所知,这正是您手动执行的操作)
  • 你知道为什么二值化会失败吗?我认为图片非常清晰,即使尺寸很小(但我想这对 OCR 来说没什么奇怪的)
  • 能否调整二值化过程的阈值?可以帮忙...

标签: java ocr bufferedimage tesseract


【解决方案1】:

尝试使用ImageHelper.convertImageToGrayscale(BufferedImage image)方法将彩色图像转换为灰度。

【讨论】:

    【解决方案2】:

    感谢nguyenq的回答,我试过那个功能,效果不是很好,但是在检查了ImageHelper类之后,我使用了方法:

    ImageHelper.convertImageToBinary(BufferedImage image)
    

    效果很好,谢谢!

    【讨论】:

    • 我的意图是让 Tesseract 的阈值算法从灰度创建二进制图像,但您的选择是有意义的,因为图像是双色调的(红色和白色)。很高兴它对你有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    相关资源
    最近更新 更多