python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python tesseract字符识别

python使用tesseract实现字符识别功能

作者:for(::)

Tesseract 是一个开源的光学字符识别(OCR)引擎,它能够识别多种语言的文本,可将扫描文档、图像中的文字提取并转换为计算机可编辑的文本格式,本文给大家介绍了python使用tesseract实现字符识别功能,需要的朋友可以参考下

介绍

Tesseract 是一个开源的光学字符识别(OCR)引擎,它能够识别多种语言的文本,可将扫描文档、图像中的文字提取并转换为计算机可编辑的文本格式。

1. 安装tesseract

首先到下列地址处,下载tesseract安装程序,并安装。

tesseract下载地址(第三方非官网)

https://digi.bib.uni-mannheim.de/tesseract/

安装完成后,进入安装目录找到tesseract.exe,并且拷贝路径,然后到编译器编写python代码。

2. 编写python代码

import cv2
import pytesseract

# 指定 Tesseract-OCR 可执行文件的路径
pytesseract.pytesseract.tesseract_cmd = "D:\\computer_vision_lib\\tesseract-ocr5.3\\tesseract.exe"

# 选择一张要识别的字符图片
img = cv2.imread("test.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# 使用 Tesseract-OCR 进行文字识别,并返回识别到的字符
print(pytesseract.image_to_string(img))
print('--'*10)

# 获取每个字符的边界框的坐标
print(pytesseract.image_to_boxes(img))

hImg, wImg, _ = img.shape
boxes = pytesseract.image_to_boxes(img)
for b in boxes.splitlines():
    b = b.split(' ')
    x, y, w, h = int(b[1]), int(b[2]), int(b[3]), int(b[4])
    cv2.rectangle(img, (x, hImg - y), (w, hImg - h), (0, 0, 255), 3)
    cv2.putText(img, b[0], (x, hImg - y + 25), cv2.FONT_HERSHEY_COMPLEX, 1, (50, 50, 255), 2)

cv2.imshow("Image", img)
cv2.waitKey(0)

执行截图如下:

到此这篇关于python使用tesseract实现字符识别功能的文章就介绍到这了,更多相关python tesseract字符识别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文