从图像中提取文本

时间:2019-02-14 11:10:53

标签: python opencv image-processing

我正在尝试使用tesseract-ocr从图像中提取文本。 image

第一张图片的结果:

result1

现在,此操作非常正常。imag

第二张图片的结果:

enter image description here

try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract


print(pytesseract.image_to_string(Image.open('input.png')))

但是无法读取第一张图像中的文本。我已经显示了第一张图片和第二张图片的结果。我能在两个图像之间发现的唯一区别是将整个第一张图像都封闭起来的框。

我也使用pdf-miner完成了此操作。同样的结果仍然存在。我不明白到底发生了什么。可能是什么原因?

1 个答案:

答案 0 :(得分:0)

当我们在纯白色背景上使用干净的黑色文本时,Tesseract效果最好。当文本近似水平且文本高度至少为20像素时,它也可以很好地工作,但是我已经看到它也可以用于垂直文本。

如果文本带有边框,则可能会检测到某些随机文本,这是您在第一张图片中遇到的情况。您可以裁剪边界,也可以在执行tesseract之前使用文本检测算法。

OpenCV中的文本检测算法:

Scene Text Detection

Another great tutorial