Python+Tesseract-OCR实现图像中的文字识别
tesseract
tesseract-ocr/tesseract: 是一个开源的光学字符识别(OCR)引擎,适用于从图像中提取和识别文本。特点是可以识别多种语言,具有较高的识别准确率,并且支持命令行和API调用。
项目地址:https://gitcode.com/gh_mirrors/te/tesseract
免费下载资源
·
开发环境:
运行平台: win10
编程语言:python
IDE: pycharm
三方库模块:pytessseract、Tesseract-OCR
pytesseract库安装:
打开cmd,执行安装命令: pip --default-timeout=100 install pytesseract
如图:
tesseract-ocr库安装:
pip install tesseract-ocr
pip安装可能容易失败,可自行下载安装包安装:http://www.pc0359.cn/downinfo/55218.html
安装好后,找到你的python安装路径(比如D:\Python\Lib\site-packages\pytesseract)下的pytesseract下的pytesseract.py,修改:tesseract_cmd = r'D:/Tesseract-OCR/tesseract.exe' (红色部分是你刚才Tesseract-OCR的安装路径),改好后保存退出。
至此,三方库安装完成。
代码实现:
import cv2 as cv
from PIL import Image
import pytesseract as tess
def recognize_text(img):
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
ret,binary = cv.threshold(gray,0,255,cv.THRESH_BINARY_INV | cv.THRESH_OTSU)
cv.imshow("binary", binary)
# 此处可根据图像效果进行相应的形态学处理,再进行识别,提升准确率
cv.bitwise_not(binary,binary)
cv.imshow("dst_not",binary)
textImg = Image.fromarray(binary)
text = tess.image_to_string(textImg)
print("识别结果:{}".format(text))
src = cv.imread("F:/workspace/pictures/digitals.png")
cv.imshow("src",src)
recognize_text(src)
cv.waitKey(0)
待识别图片:
识别结果:
从结果可以看到,识别效果不是很好,第三组第一个数字7误识别为了字母T,所有前期的图像处理需要做好,此处仅做个演示,具体改进就不再做了。
GitHub 加速计划 / te / tesseract
60.1 K
9.29 K
下载
tesseract-ocr/tesseract: 是一个开源的光学字符识别(OCR)引擎,适用于从图像中提取和识别文本。特点是可以识别多种语言,具有较高的识别准确率,并且支持命令行和API调用。
最近提交(Master分支:2 个月前 )
bc490ea7
Don't check for a directory, because a symbolic link is also allowed.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
4 个月前
2991d36a - 4 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)