仅需 5 分钟!用 Python 调用微信 OCR,解锁超高效文本识别神器

前言

想象一下,不需要复杂的C++代码,仅凭Python,就能轻松调用微信的本地OCR引擎,实现对图片中文本内容的精准识别。是的!你没听错,本项目正是一个专为Python用户打造的解决方案,将微信内置的OCR能力变成触手可及的工具!

核心亮点
  1. 零门槛接入:无需理解复杂的微信C++调用机制,直接用纯Python实现。

  2. 快速高效:直接调用微信官方OCR模型,识别速度和准确度更胜一筹。

  3. 批量处理:支持多张图片的快速批量识别,轻松应对大规模文本提取需求。

实现原理

该项目基于微信本地OCR引擎(由最新版微信自动安装)。通过Python对其官方调用逻辑进行完整翻译和封装,使开发者可以用简单的API调用其强大的OCR功能。

使用指南
  1. 依赖环境
  • Windows系统,已安装最新版微信。

  • Python环境,推荐使用最新版本。

    1. 安装项目库
    `pip install wechat-ocr`
    
    1. 设置路径
  • 微信OCR程序路径:C:\Users\<你的用户名>\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WeChatOCR\...

  • 微信安装路径:例如 D:\GreenSoftware\WeChat\3.9.6.32

    1. 代码示例 (上方代码段)
    温馨提示

    该项目仅供学习和个人使用,请勿将其用于任何商业用途。

    官方示例
    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()
    
    潜在应用场景
    1. 图片批量扫描:快速将合同、手写文件、截图等转为可编辑文本。

    2. 本地化文档管理:无需联网即可实现高质量OCR。

    3. 自动化测试辅助:针对UI截图的文本比对等功能。

    总结

    微信OCR模型的封装是Python开发者的又一利器,为文本识别提供了全新可能。如果你是一名Python开发者,快来尝试将它融入到你的项目中吧!

    github 地址:https://github.com/kanadeblisst00/wechat_ocr

    作者:测试工程师成长之路

    物联沃分享整理
    物联沃-IOTWORD物联网 » 仅需 5 分钟!用 Python 调用微信 OCR,解锁超高效文本识别神器

    发表回复