Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从图像中提取文本_Python_Opencv_Image Processing - Fatal编程技术网

Python 从图像中提取文本

Python 从图像中提取文本,python,opencv,image-processing,Python,Opencv,Image Processing,我正在尝试使用tesseract ocr从图像中提取文本 来自第一个图像的结果: 现在这个在这个上面很好用 来自第二个图像的结果: 但无法从第一个图像读取文本。我已经展示了第一张图片和第二张图片的结果。我能发现的两个图像之间的唯一区别是包围整个第一个图像的框 我也使用pdf miner完成了这项工作。同样的结果依然存在。我不明白到底发生了什么事。原因可能是什么?当我们在纯白背景上有干净的黑色文本时,Tesseract工作得最好。当文本大致水平且文本高度至少为20像素时,它也能很好地工作,但我

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

来自第一个图像的结果:

现在这个在这个上面很好用

来自第二个图像的结果:

但无法从第一个图像读取文本。我已经展示了第一张图片和第二张图片的结果。我能发现的两个图像之间的唯一区别是包围整个第一个图像的框


我也使用pdf miner完成了这项工作。同样的结果依然存在。我不明白到底发生了什么事。原因可能是什么?

当我们在纯白背景上有干净的黑色文本时,Tesseract工作得最好。当文本大致水平且文本高度至少为20像素时,它也能很好地工作,但我已经看到它也适用于垂直文本

如果文本有周围的边框,它可能会被检测为一些随机文本,这是您在第一幅图像中的情况。可以裁剪边界,也可以在执行tesseract之前使用文本检测算法

OpenCV中的文本检测算法:


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

如果文本有周围的边框,它可能会被检测为一些随机文本,这是您在第一幅图像中的情况。可以裁剪边界,也可以在执行tesseract之前使用文本检测算法

OpenCV中的文本检测算法:


放大两幅图像-第一幅图像的文本分辨率/质量差得多。OCR在很大程度上是一个垃圾回收过程。放大两幅图像-第一幅图像的文本分辨率/质量要差得多。OCR在很大程度上是一个垃圾输出过程中的垃圾。
try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract


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