From 49d1a595728ef78bf3f4c82399389c4392754fc1 Mon Sep 17 00:00:00 2001 From: livingbody Date: Mon, 17 Jul 2023 14:42:30 +0800 Subject: [PATCH] upgrade pillow to 10.0.0 (#10405) --- StyleText/engine/text_drawers.py | 3 ++- .../gen_data/gen.py" | 6 ++++-- ppocr/data/imaug/rec_img_aug.py | 2 +- ppocr/utils/visual.py | 4 ++-- ppstructure/utility.py | 3 ++- requirements.txt | 2 +- tools/infer/predict_rec.py | 2 +- tools/infer/utility.py | 2 +- 8 files changed, 14 insertions(+), 10 deletions(-) diff --git a/StyleText/engine/text_drawers.py b/StyleText/engine/text_drawers.py index 20375c13..6ccc4237 100644 --- a/StyleText/engine/text_drawers.py +++ b/StyleText/engine/text_drawers.py @@ -23,7 +23,8 @@ class StdTextDrawer(object): def get_valid_height(self, font_path): font = ImageFont.truetype(font_path, self.height - 4) - _, font_height = font.getsize(self.char_list) + left, top, right, bottom = font.getbbox(self.char_list) + _, font_height = right - left, bottom - top if font_height <= self.height - 4: return self.height - 4 else: diff --git "a/applications/PCB\345\255\227\347\254\246\350\257\206\345\210\253/gen_data/gen.py" "b/applications/PCB\345\255\227\347\254\246\350\257\206\345\210\253/gen_data/gen.py" index 4c768067..97024d10 100644 --- "a/applications/PCB\345\255\227\347\254\246\350\257\206\345\210\253/gen_data/gen.py" +++ "b/applications/PCB\345\255\227\347\254\246\350\257\206\345\210\253/gen_data/gen.py" @@ -55,7 +55,8 @@ def get_horizontal_text_picture(image_file, chars, fonts_list, cf): ch_w = [] ch_h = [] for ch in chars: - wt, ht = font.getsize(ch) + left, top, right, bottom = font.getbbox(ch) + wt, ht = right - left, bottom - top ch_w.append(wt) ch_h.append(ht) f_w = sum(ch_w) @@ -101,7 +102,8 @@ def get_vertical_text_picture(image_file, chars, fonts_list, cf): ch_w = [] ch_h = [] for ch in chars: - wt, ht = font.getsize(ch) + left, top, right, bottom = font.getbbox(ch) + wt, ht = right - left, bottom - top ch_w.append(wt) ch_h.append(ht) f_w = max(ch_w) diff --git a/ppocr/data/imaug/rec_img_aug.py b/ppocr/data/imaug/rec_img_aug.py index e145ad4b..88d604c1 100644 --- a/ppocr/data/imaug/rec_img_aug.py +++ b/ppocr/data/imaug/rec_img_aug.py @@ -406,7 +406,7 @@ class GrayRecResizeImg(object): def __init__(self, image_shape, resize_type, - inter_type='Image.ANTIALIAS', + inter_type='Image.LANCZOS', scale=True, padding=False, **kwargs): diff --git a/ppocr/utils/visual.py b/ppocr/utils/visual.py index b6de4465..aa7760a1 100644 --- a/ppocr/utils/visual.py +++ b/ppocr/utils/visual.py @@ -62,8 +62,8 @@ def draw_box_txt(bbox, text, draw, font, font_size, color): draw.rectangle(bbox, fill=color) # draw ocr results - tw = font.getsize(text)[0] - th = font.getsize(text)[1] + left, top, right, bottom = font.getbbox(text) + tw, th = right - left, bottom - top start_y = max(0, bbox[0][1] - th) draw.rectangle( [(bbox[0][0] + 1, start_y), (bbox[0][0] + tw + 1, start_y + th)], diff --git a/ppstructure/utility.py b/ppstructure/utility.py index d909f1a8..aa34ee17 100644 --- a/ppstructure/utility.py +++ b/ppstructure/utility.py @@ -132,7 +132,8 @@ def draw_structure_result(image, result, font_path): [(box_layout[0], box_layout[1]), (box_layout[2], box_layout[3])], outline=box_color, width=3) - text_w, text_h = font.getsize(region['type']) + left, top, right, bottom = font.getbbox(region['type']) + text_w, text_h = right - left, bottom - top draw_layout.rectangle( [(box_layout[0], box_layout[1]), (box_layout[0] + text_w, box_layout[1] + text_h)], diff --git a/requirements.txt b/requirements.txt index f6d022b1..9d56043a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,4 +15,4 @@ premailer openpyxl attrdict PyMuPDF<1.21.0 -Pillow<=9.5.0 +Pillow>=10.0.0 diff --git a/tools/infer/predict_rec.py b/tools/infer/predict_rec.py index 1c7e03c7..991612ab 100755 --- a/tools/infer/predict_rec.py +++ b/tools/infer/predict_rec.py @@ -156,7 +156,7 @@ class TextRecognizer(object): if self.rec_algorithm == 'ViTSTR': img = image_pil.resize([imgW, imgH], Image.BICUBIC) else: - img = image_pil.resize([imgW, imgH], Image.ANTIALIAS) + img = image_pil.resize([imgW, imgH], Image.LANCZOS) img = np.array(img) norm_img = np.expand_dims(img, -1) norm_img = norm_img.transpose((2, 0, 1)) diff --git a/tools/infer/utility.py b/tools/infer/utility.py index fd356773..40f8eab8 100644 --- a/tools/infer/utility.py +++ b/tools/infer/utility.py @@ -471,7 +471,7 @@ def draw_box_txt_fine(img_size, box, txt, font_path="./doc/fonts/simfang.ttf"): def create_font(txt, sz, font_path="./doc/fonts/simfang.ttf"): font_size = int(sz[1] * 0.99) font = ImageFont.truetype(font_path, font_size, encoding="utf-8") - length = font.getsize(txt)[0] + length = font.getlength(txt) if length > sz[0]: font_size = int(font_size * sz[0] / length) font = ImageFont.truetype(font_path, font_size, encoding="utf-8") -- GitLab