无需联网,使用python调用离线版微信OCR模块,快速文字识别

首先感谢52破解的这篇帖子,【windows 微信OCR离线版】无需联网准确快速实现文字识别 - 吾爱破解 - 52pojie.cn

原作者是使用aardio语言写的桌面应用,以下根据原作者的aardio代码,将核心功能翻译成了python版本

微信OCR离线模块地址:wwko.lanzoue.com/iEbys2rrmm4... 密码:h9bc

python 复制代码
pip install wechat-ocr
python 复制代码
import os, json, time
from wechat_ocr.ocr_manager import OcrManager, OCR_MAX_TASK_ID

wechat_ocr_dir = os.path.abspath(r"./wxocr/WeChatOCR.exe")
wechat_dir = os.path.abspath(r"./wxocr")

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服务初始化

    # 开始识别图片
    ocr_manager.DoOCRTask(os.path.abspath(r".JPG/ocr_screenshot.jpg"))
    time.sleep(1)
    while ocr_manager.m_task_id.qsize() != OCR_MAX_TASK_ID:
        pass
    # 识别输出结果
    ocr_manager.KillWeChatOCR()
    
if __name__ == "__main__":
    main()

识别之后会输出一个json结果

里面会包含识别结果和每个结果对应原始图片的坐标位置

相关推荐
子兮曰26 分钟前
PHP漏洞危机,你的网站升级了吗?
前端·后端·php
jerrywus26 分钟前
给 Pi 装上生图插件:从登录报错到画出一只 200×200 的猫
前端·agent·claude
陈随易32 分钟前
搞钱点子之生态鱼缸
前端·后端·程序员
PBitW37 分钟前
从空目录到上线:我全程用 TRAE 做了一款微信小游戏合集(含一次完整架构重构)
前端·trae
不爱学英文的码字机器42 分钟前
从Q1迁到T1,同一个编号已经换了含义
前端·数据库·microsoft
云和数据.ChenGuang1 小时前
光哥说Python 循环导入(Circular Import)深度解析:成因、排查与解决方案
开发语言·前端·人工智能·python·langchain
avi91111 小时前
【AI教人】在Inspector显示所有Delegate-Odin Inspector之三
java·前端·算法·delegate·inspector·editor扩展·unity editor
fengci.1 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php
Ward的AI产品实战1 小时前
开源 AI 网关 Magpie 调优终结篇:顺位排错、跨家族对抗审查与 5 大路由组重构(下篇)
前端·人工智能
Highcharts.js1 小时前
BI可视化图表“维护难”问题的解决方案
开发语言·前端·javascript·编辑器·ecmascript·bi·highcharts