首页 > 编程语言 >Python调用微信OCR识别文字和坐标

Python调用微信OCR识别文字和坐标

时间:2024-01-30 12:33:23浏览次数:18  
标签:ocr Python 微信 manager wechat result path OCR dir

python的ocr识别最方便的最准确的方法就是直接调微信的ocr
注意:调用的时候 先把微信关掉。

import os
import json
import time
from wechat_ocr.ocr_manager import OcrManager, OCR_MAX_TASK_ID
 
wechat_ocr_dir = r"C:\Users\mydell\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WeChatOCR\7061\extracted\WeChatOCR.exe"
wechat_dir = "C:\Program Files (x86)\Tencent\WeChat\[3.9.8.25]"
 
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"pic\\90.png")
    ocr_manager.DoOCRTask(r"pic\\92.png")
    ocr_manager.DoOCRTask(r"pic\\96.png")
    time.sleep(1)
    while ocr_manager.m_task_id.qsize() != OCR_MAX_TASK_ID:
        pass
    # 识别输出结果
    ocr_manager.KillWeChatOCR()
     

main()

https://bbs.kanxue.com/thread-279653-1.htm
转发 执念成狂 大佬的文章

标签:ocr,Python,微信,manager,wechat,result,path,OCR,dir
From: https://www.cnblogs.com/duoba/p/17996849

相关文章

  • python虚拟环境venv
    使用venv(系统默认安装):创建一个新的虚拟环境:运行命令python-mvenvmyenv其中myenv是你的虚拟环境的名称。激活虚拟环境:会根据当前运行版本win/linux进行自动激活activate在激活的虚拟环境中安装所需的软件包:运行命令pipinstallpackage_name-ihttps://pypi.tuna.tsin......
  • python 获取本机IP
    python获取本机所有IP地址的方法原链接:https://pythonjishu.com/gygjrclwnkmhnlf/2023年5月23日下午12:35 • python获取本机所有IP地址的方法,可以通过Python标准库中的socket模块来实现。下面是完整攻略:1.使用socket模块先导入socket模块,然后创建一个sock......
  • python中with的用法
    一、文件操作#自行车f=open("filename")f.write()f.close()上述代码存在的问题:(1)直接open()打开需要手动关闭,并且容易忘记关闭(2)当文件操作出现异常导致程序提早离开,而没有执行关闭文件操作#小轿车try:f=open("xxx")f.write()#文件操作except:doso......
  • Python中__init__.py的作用
    Pytorch学习笔记-(__init__)_pytorch3.8的init文件-CSDN博客 (推荐)Python:__init__.py的作用-知乎(zhihu.com) (推荐)Python中的__init__.py与模块导入___init__.py导入自定义py-CSDN博客你常常看到的__init__.py到底是个啥?-知乎(zhihu.com) 总结一下Python中__ini......
  • 批量检测微信小程序是否封禁
    `<?php//要检测的appid列表$appids=array('appid1','appid2','appid3');//使用实际的appid//循环调用接口检测小程序状态foreach($appidsas$appid){//构造接口URL,将appid作为参数传递$url='https://yan.changxunwangluo.cn/xcx/check_mini_pro......
  • python第五节:集合set(3)
    集合遍历for循环遍历集合中元素例子1:set1={'a','b','cde','张三','123'} foriinset1:   print(i) 结果:acdeb张三123 enumerate遍历索引和元素例子2:set1={'a','b','cde','张三','123'} forin......
  • Python Seaborn 衍生变量的可视化
    ​ Seaborn是一个基于matplotlib的Python库,用于创建统计图形。衍生变量是指从原始数据中计算得出的新变量。使用Seaborn可视化衍生变量,通过绘制衍生变量的图表,可以更好地理解数据之间的关系,发现数据中的潜在模式,识别异常值。1、创建衍生变量对衍生变量进行可视化是一......
  • python自定义装饰器,实现轮询监控数据库,并且根据字段内容变更打印相应日志或结束循环
    使用方法可以写个whileTrue的循环监控数据,再分别定义每个状态要做什么事情注意:循环中不要写breake不要return,换成yield,把函数作为一个生成器,由装饰器控制循环代码示例importfunctoolsimporttimefromutils.log_settingimportloggerfromconfigimportsetti......
  • Python中的函数用法
    ​ Python中,函数是组织好的、可重用的、用来执行一个特定任务的代码块。函数提高了代码的模块化和代码重用率。函数是一种将代码块组织在一起以便重复使用的工具。函数可以接受输入数据,并返回输出数据。参考文档:Python中的函数用法-CJavaPy1、定义函数使用关键字def来定义......
  • sqlalchemy模块——python的ORM数据库
    介绍ORM数据库,简单理解就是把数据库的表抽象成一个个类,对数据库进行增删改查的时候可以直接通过库中的属性进行访问,即用python抽象数据库,通过sqlalchemy自动转换成数据库sql语句执行,可以更专注于代码的实现,可以配合sqlacodegen直接映射已有的数据库表,实际操作的时候需要借助其他......