AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AI调用微信OCR能力来批量识别图片中的文本
发布日期:2024-10-15 19:01:20 浏览次数: 1531 来源:Dance with GenAI


微信电脑版中自带OCR能力,可以识别截图图片中的文字、身份证、银行卡、行驶证、营业执照等,准确率很高,而且免费。

不过,如果图片很多,要批量识别,就有些麻烦。借助AI,可以调用微信OCR能力来批量识别图片中的文本。

首先打开微信电脑版,设置好快捷键:

然后在deepseek中输入提示词:

你是一个Python编程专家,要编写一个脚本,具体任务的步骤如下:

打开文件夹:F:\AAA;

按照主文件名来模仿鼠标点击,逐个打开里面的png和jpg图片文件;

键盘上按下ctrl+Q,调用微信电脑版的截取屏幕功能;

鼠标移动到坐标:(583,408);

鼠标点击一下,等待2秒;

【用pyautogui库检查当前页面是否和图片"F:\txtbutton.jpg"一致的按钮,pyautogui.locateOnScreen函数的参数confidence为0.8,如果有,就模拟鼠标左键点击;

等待5秒;

键盘上按下ctrl+A,等待2秒;

键盘上按下ctrl+C,等待2秒;

获取剪贴板中的文本;

将文本写入"F:\AAA\picorc.docx"这个word文档中;

注意:每一步都要输出信息到屏幕上

加入异常处理和错误监控;

Deepseek的回复:

为了完成这个任务,我们可以使用pyautogui库来模拟鼠标和键盘操作,使用PIL库来处理图片,使用pyperclip库来处理剪贴板,以及使用python-docx库来处理Word文档。以下是完整的Python脚本:

import os

import time

import pyautogui

import pyperclip

from docx import Document

# 设置文件夹路径

folder_path = r"F:\AAA"

# 打开Word文档

doc = Document()

# 遍历文件夹中的所有图片文件

for filename in os.listdir(folder_path):

if filename.lower().endswith(('.png', '.jpg')):

try:

# 输出当前处理的文件名

print(f"正在处理文件: {filename}")

# 打开图片文件

image_path = os.path.join(folder_path, filename)

os.startfile(image_path)

time.sleep(2) # 等待图片打开

# 模拟键盘按下ctrl+Q

pyautogui.hotkey('ctrl', 'q')

time.sleep(2) # 等待截图功能启动

# 鼠标移动到坐标(583,408)

pyautogui.moveTo(583, 408)

time.sleep(1) # 等待鼠标移动

# 鼠标点击一下

pyautogui.click()

time.sleep(2) # 等待2秒

# 检查当前页面是否和图片"F:\txtbutton.jpg"一致的按钮

button_image_path = r"F:\txtbutton.jpg"

button_location = pyautogui.locateOnScreen(button_image_path, confidence=0.8)

if button_location:

# 模拟鼠标左键点击按钮

pyautogui.click(button_location)

print("按钮已点击")

time.sleep(5) # 等待5秒

# 模拟键盘按下ctrl+A

pyautogui.hotkey('ctrl', 'a')

time.sleep(2) # 等待2秒

# 模拟键盘按下ctrl+C

pyautogui.hotkey('ctrl', 'c')

time.sleep(2) # 等待2秒

# 获取剪贴板中的文本

clipboard_text = pyperclip.paste()

print(f"获取到的文本: {clipboard_text}")

# 将文本写入Word文档

doc.add_paragraph(clipboard_text)

print("文本已写入Word文档")

else:

print("未找到匹配的按钮")

# 关闭当前图片窗口

pyautogui.hotkey('alt', 'f4')

time.sleep(1) # 等待窗口关闭

except Exception as e:

print(f"处理文件 {filename} 时发生错误: {e}")

# 保存Word文档

output_doc_path = os.path.join(folder_path, "picorc.docx")

doc.save(output_doc_path)

print(f"Word文档已保存到: {output_doc_path}")

代码说明:

文件夹遍历:使用os.listdir遍历指定文件夹中的所有文件,并过滤出.png和.jpg文件。

图片打开:使用os.startfile打开图片文件。

键盘和鼠标模拟:使用pyautogui库模拟键盘和鼠标操作。

图片匹配:使用pyautogui.locateOnScreen函数检查当前屏幕上是否存在与指定图片匹配的按钮。

剪贴板操作:使用pyperclip库获取剪贴板中的文本。

Word文档操作:使用python-docx库将文本写入Word文档。

异常处理:在每个文件处理过程中加入异常处理,确保脚本在遇到错误时不会崩溃。

注意事项:

确保pyautogui、pyperclip和python-docx库已安装。可以使用pip install pyautogui pyperclip python-docx进行安装。

脚本中的confidence参数设置为0.8,表示图片匹配的置信度为80%。可以根据实际情况调整。

脚本中的等待时间可以根据实际操作速度进行调整。

运行环境:

该脚本需要在Windows系统上运行,因为os.startfile是Windows特有的函数。

确保微信电脑版已打开并登录,以便能够使用截图功能。

运行该脚本后,它会自动处理指定文件夹中的所有图片文件,并将获取到的文本写入指定的Word文档中。

程序运行,完成图片识别任务。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询