本篇文章为大家展示了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中怎么从图像中读取文本,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。