啥?文字识别那么简单就能实现?

主题

  处理图像中的文字,对于人本身而言是比较简单的,但是电脑本身做起来是很麻烦的。
在这里插入图片描述
  但比较幸运的是,如果一个用户只是单单的去使用技术,而非去开发技术的话,图像文字识别是比较简单的。在Python中,只要短短几行代码,就能解决大部分的情况。
  这里需要使用到的库主要有两个:
  ·OpenCV
  ·PyTesseract

关于OpenCV

  对于OpenCV,它是一个计算机视觉、图像处理库,可以快速的实现多种图像处理操作。
  它的安装也是十分简单的,只需要使用:

   pip install opencv-python

  就能成功安装好OpenCV库了。
  如果上述库安装报错的话,可以尝试使用如下命令:

   pip install opencv-contrib-python

PyTesseract

  这个库相对于OpenCV而言,使用的就相对少了一些。
  这个库是Google赞助开发的一种光学字符识别库,相对于其他一些使用起来较为复杂的库而言,这个库使用起来较为容易,且运行结果良好,并且能够从任意一张图片中读取出文字。(不过如果你本人也看不懂的话,也别指望它能读出来)
  如果图像中背景干扰较为严重,可以优先使用OpenCV来进行文本部分的突出化或者是将图片中文字部分的区域直接提取出来。
  这个库的安装也十分的简单,只要使用:

   pip install PyTesseract

  即可顺利安装成功。
  如果是在Linux上安装,还可以使用如下命令:

    sudo apt-get update
    sudo apt-get install tesseract-ocr
    sudo apt-get install libtesseract-dev

来进行安装。
  对于使用Windows系统的,这里还有一种安装方式,就是进入如下网址:
  https://github.com/UB-Mannheim/tesseract/wiki
  进入后我们可以看到两个下载口,根据电脑是32位还是64位来进行选择性的下载。
在这里插入图片描述
  安装过程也很简单,只需要连续的按next就可以安装完成。

获取文本

这里我们选用一张LOGO作为我们测试的测试对象。
在这里插入图片描述
  我们使用如下代码:

import pytesseract
import cv2
img=cv2.imread('111.jpg')
text=pytesseract.image_to_string(img)
print(text)

  使用后,我们可以看到,他的运行结果如下所示:
            在这里插入图片描述
  可以看到的是,该库已经很轻松的就把图像中的文本部分给提取出来了,而实现的代码就只有5行而已!
      在这里插入图片描述

加大挑战

  在上面的例子中,我们图片中就只有一行文字,如果我们的图片里面有好几段的文字话,这个库的使用效果会如何呢?
  假设我们现在有这样一张图片:
在这里插入图片描述
代码还是只有短短的5行:
在这里插入图片描述

import pytesseract
import cv2
img=cv2.imread('333.jpg')
text=pytesseract.image_to_string(img)
print(text)

运行上面的代码,可以看到我们的运行结果:
在这里插入图片描述
  发现它的运行结果依然很优秀,不仅将文字完整无误的提取了出来,还识别出了文字的大小写。

缺点

  虽然这个库使用起来十分的方便,但他还是有它的缺点在里面,最大的缺陷就在于它只能较为精准的识别出英文,而没有办法对类似中文的文字进行提取。

总结

  结合OpenCV和pytesseract可以很好的实现文字的提取工作,但可惜只能识别英文,对于中文等文字的识别,我会放在下一篇文章中,欢迎大家到时再来捧场,你们的支持就是我最大的写作动力,谢谢大家!

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值