# -*- coding: utf-8 -*- """测试ocr的位置,与预期是否一致""" from PIL import Image, ImageDraw import json from pathlib import Path def draw_rectangles_on_image(image_path, rectangles, output_path): image = Image.open(image_path) draw = ImageDraw.Draw(image) for rectangle in rectangles: top_left = (rectangle['left'], rectangle['top']) bottom_right = (rectangle['left'] + rectangle['width'], rectangle['top'] + rectangle['height']) draw.rectangle([top_left, bottom_right], outline='red', width=2) image.save(output_path) rectangles = [ ] with open("log.txt", "r", encoding="utf-8") as f: try: ocr_data = json.loads(f.read()) except json.decoder.JSONDecodeError: print("json格式化错误") for i in ocr_data['words_result']: for char_loca in i['chars']: rectangles.append(char_loca['location']) script_path = Path(__file__).resolve() script_directory = script_path.parent transformed_image_path = str(Path(script_directory, r"transformed_image.jpg")) draw_rectangles_on_image(transformed_image_path, rectangles, 'output_with_rectangles.jpg')