pepperbot/apps/riic_report_analysis.py

28 lines
726 B
Python
Raw Normal View History

2023-08-13 19:42:17 +08:00
from pepperbot.core.message.chain import MessageChain, Image, Text
from paddleocr import PaddleOCR
import os
2023-08-13 20:18:55 +08:00
import asyncio
import functools
2023-08-13 18:31:28 +08:00
2023-08-13 20:05:54 +08:00
ocr = PaddleOCR(use_angle_cls=False, use_gpu=False)
2023-08-13 18:31:28 +08:00
class RIICReportAnalysis:
async def group_message(self, chain: MessageChain):
2023-08-13 19:50:02 +08:00
if len(chain) != 1 or len(chain.images) != 1:
2023-08-13 19:42:17 +08:00
return
img_seg: Image = chain[0]
img_path = await img_seg.download()
print(f"Image saved to {img_path}")
2023-08-13 20:18:55 +08:00
loop = asyncio.get_running_loop()
ocr_text = await loop.run_in_executor(
None, functools.partial(ocr.ocr, img_path, cls=False)
)
2023-08-13 19:42:17 +08:00
print(ocr_text)
os.remove(img_path)
print(f"file removed.")