图片文字批量识别工具
功能描述
本工具使用Python开发,结合GUI界面和OCR技术,实现以下功能:
- 选择包含图片的文件夹
- 批量识别图片中的文字
- 将识别结果保存为txt文件
- 提供简单的用户界面,方便操作
技术栈
- Python 3.x
- Tkinter (GUI)
- Tesseract-OCR (OCR)
- Pillow (图像处理)
- PyInstaller (打包为exe)
环境配置
Tesseract OCR安装
-
下载安装包:
- Windows: digi.bib.uni-mannheim.de/tesseract/ (官方镜像)
- 或 github.com/tesseract-o… (GitHub)
- macOS:
brew install tesseract - Linux:
sudo apt install tesseract-ocr查看版本:tesseract --version
-
配置环境变量:
- Windows: 将Tesseract安装路径(如
D:\Tesseract-OCR)添加到系统Path变量 - macOS/Linux: 通常会自动配置
- Windows: 将Tesseract安装路径(如
-
安装中文语言包:
- 下载chi_sim.traineddata:github.com/tesseract-o…
- 放入Tesseract的tessdata目录
Python依赖安装
pip install pytesseract pillow
验证安装
在命令行运行:
tesseract --version
使用说明
- 运行程序后,点击"选择文件夹"按钮
- 选择包含图片的文件夹
- 程序会自动识别文件夹下所有图片中的文字
- 识别结果会保存在同目录下的output.txt文件中
- 可在界面查看识别进度和结果
开发步骤
- 安装依赖库:
pip install pytesseract pillow - 确保已安装Tesseract OCR引擎
- 开发GUI界面和OCR识别逻辑
- 测试功能
- 使用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进行压缩:
- 下载并安装UPX。
- 在编译时添加
--upx-dir参数:pyinstaller --onefile --windowed --upx-dir "C:\path\to\upx" image_ocr_tool.py
注意事项
-
支持常见图片格式:jpg, png, bmp等
-
识别准确率受图片质量影响
-
建议使用清晰、文字明显的图片
-
路径配置中不要使用双引号,例如:
config = f'--tessdata-dir {tessdata_dir}'而不是:
config = f'--tessdata-dir "{tessdata_dir}"'