【发布时间】:2021-01-20 20:09:23
【问题描述】:
我正在使用 PIL 绘制图像并在其上写入文本。在此之后,我想为图像上的文本绘制并获取边界框坐标[(x1, y1), (x2, y2)]。我怎样才能做到这一点 ?见下文:
from IPython.display import Image
import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
# Colour Codes
colours = {"black":(0,0,0),
"white": (255,255,255)
}
# Image Description
canvas_width = 200
canvas_height = 200
img_center = (canvas_width/2, canvas_height/2)
# Text Description
size = 50
text = "Text"
font = fonts[2]
font = ImageFont.truetype(font, size)
# File Description
image_name = text
# Generate data:
## Create image canvas
img=Image.new("RGBA", (canvas_width,canvas_height), colours["black"])
draw = ImageDraw.Draw(img)
## Add text on canvas
draw.text(img_center, text, colours["white"], font=font, anchor="mm")
## Draw Bounding Box on Text
draw.rectangle(font.getbbox(text))
print("Text at:", font.getbbox(text))
# Display Image
draw = ImageDraw.Draw(img)
display(img)
# Save Image
# img.save(image_name+".png")
print("Image Saved as: ", image_name+".png")
当前输出:
【问题讨论】:
-
不一定是字符,而是整个单词。
标签: python python-imaging-library