R中的Tesseract无法识别"&"

6
我是一个R编程的初学者,需要编写代码从图像中读取文本!我正在使用Tesseract和Magick包来完成此任务,但遇到一个问题,代码将"&"转换为"8:"。下面是我使用的输入图像:处理用图像 以下是我运行的代码:
test2 <- image_read("C:/Users/admin/Desktop/testimage.jpg") %>%
  image_resize("2000") %>%
  image_convert(colorspace = 'gray') %>%
  image_trim() %>%
  image_ocr()
cat(test2)
write.table(test2, "C:/Users/admin/Desktop/output2.txt", sep="\t")

以下是我得到的输出结果。
No relation between boycotting
panchayat polls 8: Article 35A:
Subramanian Swamy

我参考了这个来源来获取一些理解,但没有找到针对这个特定问题的合适解决方案。
我也浏览了这个网站,但在阅读特殊字符方面没有找到太多帮助。
如果有人能帮助我,那将非常有帮助。

如果您没有得到任何答案,可以在此处提交问题 https://github.com/ropensci/tesseract/issues - Tung
完整的命令是 tesseract /path/to/image.png --user-words path/to/&file.txt out - Mako212
如果我将"&:"添加到白名单中,它会被读作8,但如果我使用";&",它会读取和号。当然,现在"35A:"变成了"35A;" - user20650
是的,我完成了。wl = paste(paste(letters, LETTERS, collapse="", sep=""), "0123456789&;") ; engine <- tesseract(options = list(tessedit_char_whitelist = wl), cache=FALSE) ; text <- ocr("https://i.stack.imgur.com/mn9nW.jpg", engine) ; cat(text) 。但是我遇到了字体问题 - t 被识别成了 l - user20650
@user20650,感谢您抽出时间。我使用了您提到的代码,但结果仍然相同 :( - H Dave
显示剩余2条评论
1个回答

1

你能否使用Imagemagick来处理TIF文件而不是JPG文件完成相同的操作呢? 我使用了以下查询,并且它起作用了。

test20 <- image_read("E:/xx/image.tif") %>%
image_resize("4000") %>%
image_convert(colorspace = 'gray') %>%
image_trim() %>%
image_ocr()
cat(test20)
write.table(test2, "E:/xx/output.txt", sep="\t")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接