参考资料:
1、三年磨一剑——微信OCR图片文字提取-腾讯云开发者社区-腾讯云
2、可供独立使用且最小依赖的微信 OCR 功能包 – 吾爱破解 – 52pojie.cn
3、GitHub – kanadeblisst00/wechat_ocr: 使用Python调用微信本地ocr服务
4、[原创]Python调用微信OCR识别文字和坐标-编程技术-看雪-安全社区|安全招聘|kanxue.com
示例代码:
这段简易代码实现创建一个GUI,输入一个图片,将图片中的文字进行OCR,按段落生成到一个TXT中。
import os
import json
import time
import tkinter as tk
from tkinter import filedialog, messagebox
from wechat_ocr.ocr_manager import OcrManager, OCR_MAX_TASK_ID
def ocr_result_callback(img_path: str, results: dict):
save_text_to_txt(results, img_path)
def save_text_to_txt(ocr_results, original_image_path):
if 'ocrResult' in ocr_results and isinstance(ocr_results['ocrResult'], list):
all_text = ""
for result in ocr_results['ocrResult']:
text = result.get('text', '')
if text:
all_text += text + "\n"
base_name, ext = os.path.splitext(original_image_path)
txt_path = f"{base_name}_ocr_result.txt"
with open(txt_path, 'w', encoding='utf-8') as f:
f.write(all_text)
print(f"已保存OCR结果到: {txt_path}")
else:
print("OCR结果不符合预期格式。")
def select_image():
file_path = filedialog.askopenfilename(
title="选择图片",
filetypes=(("Image files", "*.png;*.jpg;*.jpeg;*.bmp;*.tiff"), ("All files", "*.*"))
)
if not file_path:
return
wechat_ocr_dir = r"C:\Users\YourID\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WeChatOCR79\extracted\WeChatOCR.exe"
wechat_dir = r"C:\Program Files\Tencent\WeChat\[3.9.12.17]"
ocr_manager = OcrManager(wechat_dir)
ocr_manager.SetExePath(wechat_ocr_dir)
ocr_manager.SetUsrLibDir(wechat_dir)
ocr_manager.SetOcrResultCallback(ocr_result_callback)
ocr_manager.StartWeChatOCR()
ocr_manager.DoOCRTask(file_path)
while ocr_manager.m_task_id.qsize() > 0 or ocr_manager.IsOcrRunning():
time.sleep(0.5)
ocr_manager.KillWeChatOCR()
messagebox.showinfo("完成", "文字提取并保存完成!")
def main():
root = tk.Tk()
root.title("OCR文字提取到txt工具")
root.geometry("300x100")
btn_select = tk.Button(root, text="选择图片", command=select_image)
btn_select.pack(pady=20)
root.mainloop()
if __name__ == "__main__":
main()
发表回复