R中的tesseract-在黑色背景上读取白色字体

问题描述 投票:4回答:1

所以,我对tesseract还是陌生的,有些人遇到的问题与我在这个论坛上遇到的问题类似,但我无法获得令人满意的解决方案,因此我将发布此问题。

我有一个路边照相机的照片,我想获取镜头的时间戳。剪掉时间戳后,它们如下所示:

Picture

我通过将tesseract与R一起使用来解决此问题:

library(tesseract)
library(magick)
eng <- tesseract("eng")

input <- image_read("image from above")

使用我得到的基本tesseract:

input %>% tesseract::ocr(,engine = eng) 
# [1] "SRE SAA PRO 206197180731 17:33:88\n"

显然,这没有太大帮助。因此,在阅读了该问题后,我尝试了以下操作:

text <- input %>%
  image_resize("2000x") %>%
  image_convert(type = 'Grayscale') %>%
  image_trim(fuzz = 40) %>%
  image_write(format = 'png', density = '300x300') %>%
  tesseract::ocr() 

cat(text)

# es bt i deen | ee) eee i ae 2s ee ee ee eee ec ee |

此结果更加糟糕,这实在令人沮丧。如何获得正确的结果?热烈欢迎任何帮助:)

编辑

@@ Max Teflon回答了此示例的问题。但是,我意识到某些图像仍然被错误地读取,例如

enter image description here

enter image description here

谁能进一步改善他的解决方案?

r tesseract image-recognition
1个回答
3
投票

多么好的问题!玩起来真的很有趣。我发现此解决方案适用于您的示例:

© www.soinside.com 2019 - 2024. All rights reserved.