一、了解Tesseract-OCR

开源地址:https://github.com/tesseract-ocr/tesseract

Tesseract-OCR 是一个开源的光学字符识别(OCR)引擎,能够识别图片中的文字并将其转化为可编辑的文本。它最初由惠普公司(Hewlett-Packard)开发,后来由Google接管并继续维护和开发。Tesseract 是目前最强大且广泛使用的 OCR 引擎之一,支持多种语言,并且能够处理复杂的文本和布局。该开源引擎在github上拥有63k+的star。

主要特点:

  1. 开源与免费:Tesseract 是一个完全开源的项目,使用 Apache 2.0 许可证,任何人都可以免费使用和修改。
  2. 语言支持:Tesseract 支持多种语言,包括英文、中文、日文、法文等,还支持自定义语言训练。
  3. 高精度识别:Tesseract 能够处理各种图像质量的文本识别,精度较高,尤其适用于清晰的文本图像。
  4. 支持多种输入格式:支持输入图像格式如 JPEG、PNG、TIFF、GIF 等,还可以通过 PDF 文件进行 OCR 处理。
  5. 多平台支持:Tesseract 可以在多种操作系统上运行,包括 Linux、Windows 和 macOS。

二、安装Tesseract-ocr(以windows为例)

下载地址:https://github.com/UB-Mannheim/tesseract/wiki

点击下载后下载Windows安装包,然后双击安装,一直下一步即可。

安装完成后可以看到以下文件夹结构:

三、下载对应的训练语言数据

此步骤一般可以省略,因为下载安装后默认是有英文数据库的,如果需要识别其他语言可以在这一步下载配置。

下载地址:Traineddata Files for Version 4.00 + | tessdoc

下载后将.traineddata文件复制到tessdata文件夹中即可。

四、配置系统环境变量(Windows 系统)

  1. 在任务栏搜索框中输入 环境变量,点击 编辑系统环境变量。
  2. 点击 环境变量 按钮。

        

  1. 在 系统变量 区域中,点击 新建:
    • 变量名:TESSDATA_PREFIX
    • 变量值:C:\Program Files\Tesseract-OCR\(这里是你的安装路径)

        3. 确认保存,并关闭所有对话框。

至此,Tesseract-OCR就安装配置好了。

五、安装对应的python库

根据需要安装对应的python库:(我这里安装的多,有一些是非必须的,比如word文档库等)

pip install opencv-python pytesseract pandas openpyxl python-docx

六、编写脚本代码

python脚本源码:(此处源码为识别图片内容并另存为到txt文件中)

import pytesseract
import cv2

# 设置Tesseract路径(确保已安装Tesseract OCR并设置正确路径)
pytesseract.pytesseract.tesseract_cmd = r'D:\img_ocr\tesseract.exe'

def extract_text_from_image_and_save_to_txt(image_path, output_txt):
    """
    从图片中提取文本内容并保存到TXT文件
    :param image_path: 输入图片路径
    :param output_txt: TXT输出路径
    """
    # 读取图片
    img = cv2.imread(image_path)

    # 转换为灰度图像
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    # 二值化处理(提高对比度,便于OCR识别)
    _, binary = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY_INV)

    # 使用Tesseract提取文本内容
    extracted_text = pytesseract.image_to_string(binary, config='--psm 6')

    # 将提取的文本保存到TXT文件
    with open(output_txt, 'w', encoding='utf-8') as file:
        file.write(extracted_text)

    print(f"文本已成功导出到 {output_txt}")

# 示例调用
image_path = '12345.png'  # 替换为你的图片路径
output_txt = 'output2.txt'       # TXT输出路径

extract_text_from_image_and_save_to_txt(image_path, output_txt)

注意: 

1、此处注意路径为安装路径,后面是exe文件

# 设置Tesseract路径(确保已安装Tesseract OCR并设置正确路径)
pytesseract.pytesseract.tesseract_cmd = r'D:\img_ocr\tesseract.exe'

2、此处注意图片名字和格式不要写错

# 示例调用
image_path = '12345.png'  # 替换为你的图片路径
output_txt = 'output2.txt'       # TXT输出路径

七、测试脚本

测试图片:12345.png

脚本运行结果:

 测试结果:

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐