仅需 5 分钟!用 Python 调用微信 OCR,解锁超高效文本识别神器
前言
想象一下,不需要复杂的C++代码,仅凭Python,就能轻松调用微信的本地OCR引擎,实现对图片中文本内容的精准识别。是的!你没听错,本项目正是一个专为Python用户打造的解决方案,将微信内置的OCR能力变成触手可及的工具!
核心亮点
-
零门槛接入:无需理解复杂的微信C++调用机制,直接用纯Python实现。
-
快速高效:直接调用微信官方OCR模型,识别速度和准确度更胜一筹。
-
批量处理:支持多张图片的快速批量识别,轻松应对大规模文本提取需求。
实现原理
该项目基于微信本地OCR引擎(由最新版微信自动安装)。通过Python对其官方调用逻辑进行完整翻译和封装,使开发者可以用简单的API调用其强大的OCR功能。
使用指南
- 依赖环境
Windows系统,已安装最新版微信。
Python环境,推荐使用最新版本。
- 安装项目库
`pip install wechat-ocr`
- 设置路径
微信OCR程序路径:C:\Users\<你的用户名>\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WeChatOCR\...
微信安装路径:例如 D:\GreenSoftware\WeChat\3.9.6.32
- 代码示例 (上方代码段)
温馨提示
该项目仅供学习和个人使用,请勿将其用于任何商业用途。
官方示例
import os
import json
import time
from wechat_ocr.ocr_manager import OcrManager, OCR_MAX_TASK_ID
wechat_ocr_dir = "C:\\Users\\Administrator\\AppData\\Roaming\\Tencent\\WeChat\\XPlugin\\Plugins\\WeChatOCR\\7057\\extracted\\WeChatOCR.exe"
wechat_dir = "D:\\GreenSoftware\\WeChat\\3.9.6.32"
def ocr_result_callback(img_path:str, results:dict):
result_file = os.path.basename(img_path) + ".json"
print(f"识别成功,img_path: {img_path}, result_file: {result_file}")
with open(result_file, 'w', encoding='utf-8') as f:
f.write(json.dumps(results, ensure_ascii=False, indent=2))
def main():
ocr_manager = OcrManager(wechat_dir)
# 设置WeChatOcr目录
ocr_manager.SetExePath(wechat_ocr_dir)
# 设置微信所在路径
ocr_manager.SetUsrLibDir(wechat_dir)
# 设置ocr识别结果的回调函数
ocr_manager.SetOcrResultCallback(ocr_result_callback)
# 启动ocr服务
ocr_manager.StartWeChatOCR()
# 开始识别图片
ocr_manager.DoOCRTask(r"T:\Code\WeChat\OCR\Python\img\1.png")
ocr_manager.DoOCRTask(r"T:\Code\WeChat\OCR\Python\img\2.png")
ocr_manager.DoOCRTask(r"T:\Code\WeChat\OCR\Python\img\3.png")
time.sleep(1)
while ocr_manager.m_task_id.qsize() != OCR_MAX_TASK_ID:
pass
# 识别输出结果
ocr_manager.KillWeChatOCR()
if __name__ == "__main__":
main()
潜在应用场景
-
图片批量扫描:快速将合同、手写文件、截图等转为可编辑文本。
-
本地化文档管理:无需联网即可实现高质量OCR。
-
自动化测试辅助:针对UI截图的文本比对等功能。
总结
微信OCR模型的封装是Python开发者的又一利器,为文本识别提供了全新可能。如果你是一名Python开发者,快来尝试将它融入到你的项目中吧!
github 地址:https://github.com/kanadeblisst00/wechat_ocr
作者:测试工程师成长之路