Python中怎么从图像中读取文本
更新:HHH   时间:2023-1-7


本篇文章为大家展示了Python中怎么从图像中读取文本,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

OpenCV

现在,这个库将只用于加载图像,实际上你不需要事先对它有太多了解(尽管它可能有帮助,你将看到为什么)。

根据官方文件:

OpenCV(开源计算机视觉库)是一个开源的计算机视觉和机器学习软件库。OpenCV的目的是为计算机视觉应用提供一个通用的基础结构,并加速机器感知在商业产品中的使用。OpenCV是bsd许可的产品,OpenCV使企业可以轻松地使用和修改代码

简而言之,你可以使用OpenCV来做任何类型的图像转换,这是一个相当简单的库。

如果你还没有安装它,那么它将只是终端中的一行:

pip install opencv-python

差不多就是这样。在此之前,一切都很简单,但这种情况即将改变。

PyTesseract

这个库到底是什么东西?根据维基百科:

Tesseract是用于各种操作系统的光学字符识别引擎。它是免费软件,根据Apache许可2.0版发布,自2006年以来由Google赞助开发。

我敢肯定,现在有更多复杂的库可用,但是我发现这个库运行良好。根据我自己的经验,该库应该能够从任何图像中读取文本,但前提是该字体不会使你连连看都看不懂。

如果无法从你的图像中读取文字,花更多的时间使用OpenCV,应用各种过滤器使文本高亮。

现在安装在底部有些麻烦。如果你使用的是Linux,则全部归结为几个sudo-apt get命令:

sudo apt-get updatesudo apt-get install tesseract-ocrsudo apt-get install libtesseract-dev

我用的是Windows系统,所以这个过程有点乏味。

首先,打开这个URL:https://github.com/UB-Mannheim/tesseract/wiki下载32位或64位的安装程序:

安装本身很简单,只需单击几次Next。是的,你还需要做一个pip安装:

pip install pytesseract

接下来要需要告诉Python  Tesseract安装在何处。在Linux机器上,我不需要这样做,但在Windows上是必需的。默认情况下,它安装Program Files。

如果你做的一切正确,执行这些代码应该不会产生任何错误:

获取文本

让我们从一个简单的开始。我找到了一些免版税的图片,里面有一些文字,第一个是这样的:

它应该是简单的一个,有可能Tesseract会读那些蓝色的“对象”作为括号。让我们看看会发生什么:

我的猜测是正确的。不过,这不是一个问题,你可以使用一些Python技巧轻松地解决这些问题。

下一个可能更棘手:

我希望它不会检测到硬币上的“B”:

上述内容就是Python中怎么从图像中读取文本,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。

返回编程语言教程...