From f214752d151a9b3287e0064f5c2beb6fcaeae9f3 Mon Sep 17 00:00:00 2001 From: Antonio El Khoury Date: Sun, 5 Apr 2020 18:36:01 +0200 Subject: [PATCH] [Bounding box] Print label in center of generated image. --- inference-test-tool/Dockerfile | 3 +++ inference-test-tool/test_inference_boxes.py | 14 ++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/inference-test-tool/Dockerfile b/inference-test-tool/Dockerfile index afe314c..ed70d1c 100644 --- a/inference-test-tool/Dockerfile +++ b/inference-test-tool/Dockerfile @@ -9,6 +9,9 @@ RUN cp /usr/lib/python3/dist-packages/gdcm.py /usr/local/lib/python3.7/site-pack && cp /usr/lib/python3/dist-packages/_gdcmswig*.so /usr/local/lib/python3.7/site-packages/ \ && cp /usr/lib/x86_64-linux-gnu/libgdcm* /usr/local/lib/python3.7/site-packages/ +# Install fonts +RUN apt-get install -y fonts-open-sans + # Basic env setup WORKDIR /opt diff --git a/inference-test-tool/test_inference_boxes.py b/inference-test-tool/test_inference_boxes.py index 11877ad..d6656db 100644 --- a/inference-test-tool/test_inference_boxes.py +++ b/inference-test-tool/test_inference_boxes.py @@ -6,7 +6,7 @@ import argparse import numpy as np -from PIL import Image, ImageDraw +from PIL import Image, ImageDraw, ImageFont import pydicom from utils import load_image_data, create_folder, get_pixels @@ -29,10 +29,16 @@ def generate_images_with_boxes(images, boxes, output_folder): ul = box['top_left'] br = box['bottom_right'] points = [tuple(ul), (br[0], ul[1]), tuple(br), (ul[0], br[1]), tuple(ul)] - draw.line(points, fill="red", width=5) - + draw.line(points, fill='red', width=5) + # apply label at center of box + label = box['label'] + font = ImageFont.truetype('OpenSans-Regular.ttf', (br[1] - ul[1]) // 20) + text_width, text_height = draw.textsize(label, font) + text_position = (ul[0] + (br[0] - ul[0] - text_width) / 2, ul[1] + (br[1] - ul[1] - text_height) / 2) + draw.text(text_position, label, (255, 0, 0), font) + boxes.remove(box) - + # write image to output folder output_filename = os.path.join(output_folder, str(index) + '_' + os.path.basename(os.path.normpath(image.path))) output_filename += '.png'