python实现的批量图片文字识别工具

159 阅读2分钟

图片文字批量识别工具

功能描述

本工具使用Python开发,结合GUI界面和OCR技术,实现以下功能:

  1. 选择包含图片的文件夹
  2. 批量识别图片中的文字
  3. 将识别结果保存为txt文件
  4. 提供简单的用户界面,方便操作

技术栈

  • Python 3.x
  • Tkinter (GUI)
  • Tesseract-OCR (OCR)
  • Pillow (图像处理)
  • PyInstaller (打包为exe)

环境配置

Tesseract OCR安装

  1. 下载安装包:

  2. 配置环境变量:

    • Windows: 将Tesseract安装路径(如D:\Tesseract-OCR)添加到系统Path变量
    • macOS/Linux: 通常会自动配置
  3. 安装中文语言包:

Python依赖安装

pip install pytesseract pillow

验证安装

在命令行运行:

tesseract --version

使用说明

  1. 运行程序后,点击"选择文件夹"按钮
  2. 选择包含图片的文件夹
  3. 程序会自动识别文件夹下所有图片中的文字
  4. 识别结果会保存在同目录下的output.txt文件中
  5. 可在界面查看识别进度和结果

开发步骤

  1. 安装依赖库:
    pip install pytesseract pillow
    
  2. 确保已安装Tesseract OCR引擎
  3. 开发GUI界面和OCR识别逻辑
  4. 测试功能
  5. 使用PyInstaller打包为exe:
    pyinstaller --onefile --windowed image_ocr_tool.py
    

编译为可执行文件

1. 安装PyInstaller

pip install pyinstaller

2. 生成可执行文件

pyinstaller --onefile --windowed image_ocr_tool.py

3. 查找生成的可执行文件

生成的可执行文件会放在dist目录下:

  • 路径:./dist/image_ocr_tool.exe

4. 打包依赖文件

如果程序依赖外部文件(如chi_sim.traineddata),需要将这些文件与.exe文件一起打包。可以使用以下方法:

方法1:手动复制

将依赖文件(如chi_sim.traineddata)复制到dist目录下,与.exe文件放在同一目录。

方法2:使用--add-data参数

在编译时指定依赖文件的路径:

pyinstaller --onefile --windowed --add-data "D:\Tesseract-OCR\tessdata\chi_sim.traineddata;tessdata" image_ocr_tool.py

5. 优化可执行文件大小

如果生成的.exe文件过大,可以使用UPX进行压缩:

  1. 下载并安装UPX
  2. 在编译时添加--upx-dir参数:
    pyinstaller --onefile --windowed --upx-dir "C:\path\to\upx" image_ocr_tool.py
    

注意事项

  1. 支持常见图片格式:jpg, png, bmp等

  2. 识别准确率受图片质量影响

  3. 建议使用清晰、文字明显的图片

  4. 路径配置中不要使用双引号,例如:

    config = f'--tessdata-dir {tessdata_dir}'
    

    而不是:

    config = f'--tessdata-dir "{tessdata_dir}"'
    

2.png

1.png