OCR (Optical Character Recognition,光学字符识别)技术是一种将印刷体或手写文字转化为可编辑文本的技术。亦即将图像中的文字进行识别,并以文本的形式返回。做OCR有很多库可以使用。免费开源库有:Tesseract,PaddleOCR。商业付费OCR有:腾讯云OCR,阿里云OCR。下面分别介绍。
准确识别的前提是找到正确的字体进行训练,字体很重要,要覆盖所有识别的场景。
Tesseract
Tesseract的GitHub网址:https://github.com/tesseract-ocr/tesseract
新建系统变量
我的电脑点击右键,属性,高级系统设置,环境变量,系统变量里面,新建一个TESSDATA_PREFIX变量名,路径就是tessdata文件夹的路径地址。如:D:\tessdata。
Python环境配置
pip install pytesseract
pip install matplotlib
测试代码
运行测试代码,使用Pillow读取图像
import pytesseract
from PIL import Image
import matplotlib.pyplot as plt
srcImage = Image.open('./pic/t1.jpg')
plt.imshow(srcImage)
plt.show()
text = pytesseract.image_to_string(srcImage, lang='eng')
print(text)
运行测试代码,使用OpenCV读取图像
import pytesseract
import cv2 as cv
srcImage = cv.imread('./pic/t7.jpg')
grayImage = cv.cvtColor(srcImage, cv.COLOR_BGR2GRAY)
thresh, binaryImage = cv.threshold(grayImage,0, 255, cv.THRESH_BINARY|cv.THRESH_OTSU)
blurImage = cv.GaussianBlur(binaryImage, (5, 5),3)
cv.imshow('blurImage',blurImage)
text = pytesseract.image_to_string(blurImage, lang='eng')
print(text)
cv.waitKey(0)
cv.destroyAllWindows()
VS环境配置
Tesseract的GitHub网址:https://github.com/tesseract-ocr/tesseract
在Windows下Visual Studio 调用,要先配置环境。官方有3种方法:https://tesseract-ocr.github.io/tessdoc/Compiling.html。
CMake:https://cmake.org/,SW:https://software-network.org/,Vcpkg: