介绍
我们人类几乎每时每刻都在阅读文本。如果我们的机器或系统也能像我们一样阅读文本,那不是很好吗?但更大的问题是“我们如何让我们的机器阅读”?这就是光学字符识别 (OCR) 出现的地方。
光学字符识别 (OCR)
光学字符识别 (OCR) 是一种从打印或扫描的照片、手写图像中读取或抓取文本并将其转换为可编辑和可搜索的数字格式的技术。
应用
OCR 在当今的业务中有很多应用。下面列出了其中的一些:
机场护照识别
数据录入自动化
车牌识别
将名片信息提取到联系人列表中
将手写文档转换为电子图像
创建可搜索的 PDF
创建可听文件(文本到音频)
一些开源 OCR 工具是 Tesseract、OCRopus。
Tesseract:https://en.wikipedia.org/wiki/Tesseract_(software)
OCRopus:https://en.wikipedia.org/wiki/OCRopus
在本文中,我们将重点介绍 Tesseract OCR。为了读取图像,我们需要 OpenCV。
Tesseract OCR 的安装
从“ https://github.com/UB-Mannheim/tesseract/wiki ”下载最新的 Windows 10 安装程序。下载后执行 .exe 文件。
注意:不要忘记复制文件软件安装路径。我们稍后会需要它,因为如果安装目录与默认目录不同,我们需要在代码中添加 tesseract 可执行文件的路径。
Windows 系统中典型的安装路径是C:Program Files。
所以,就我而言,它是“ C: Program FilesTesseract-OCRtesseract.exe ”。
接下来,要安装 Tesseract 的 Python 包装器,请打开命令提示符并执行命令“ pip install pytesseract ”。
OpenCV
OpenCV(开源计算机视觉)是一个用于计算机视觉、机器学习和图像处理应用程序的开源库。
OpenCV-Python 是 OpenCV 的 Python API。
要安装它,请打开命令提示符并执行命令“ pip install opencv-python ”。
构建示例 OCR 脚本
1. 读取示例图像
import cv2
使用 cv2.imread() 方法读取图像并将其存储在变量“img”中。
img = cv2.imread("image.jpg")
如果需要,使用 cv2.resize() 方法调整图像大小
img = cv2.resize(img, (400, 400))
使用 cv2.imshow() 方法显示图像
cv2.imshow("Image", img)
无限显示窗口(防止内核崩溃)
cv2.waitKey(0)
关闭所有打开的窗口