欢迎访问宙启技术站
智能推送

Python中使用Image()库实现图像的文本和标注添加

发布时间:2023-12-25 09:39:53

Python中可以使用PIL(Python Imaging Library)库中的Image模块来操作图像进行文本和标注的添加。

首先,需要确保PIL库已经安装。可以使用以下命令来安装:

pip install Pillow

接下来,通过导入Image和ImageDraw模块来实现文本和标注的添加:

from PIL import Image, ImageDraw, ImageFont

然后,打开要进行文本和标注添加的图像文件:

image = Image.open("example.jpg")

一、添加文本

要在图像上添加文本,可以使用ImageDraw模块中的text()方法。该方法的参数包括文本的位置,文本内容,文本颜色和字体等。

draw = ImageDraw.Draw(image)
text_position = (10, 10)  # 文本的起始位置
text_content = "Hello, World!"  # 文本内容
text_color = (255, 0, 0)  # 文本颜色,格式为(R, G, B)
font = ImageFont.truetype("arial.ttf", 12)  # 字体及大小

draw.text(text_position, text_content, fill=text_color, font=font)

此例中,将文本添加在图像左上角位置(10,10),内容为“Hello, World!”,颜色为红色(值为(255, 0, 0)),使用系统字体arial,大小为12。

二、添加标注

要在图像上添加标注,可以使用ImageDraw模块中的line()和rectangle()方法。可以通过指定标注的起始点和终止点来绘制直线,也可以通过指定左上角和右下角坐标来绘制矩形。

draw.line([(50, 50), (200, 50)], fill=(0, 255, 0), width=2)  # 绘制起点为(50,50),终点为(200, 50)的直线,颜色为绿色,宽度为2
draw.rectangle([(100, 100), (200, 200)], outline=(255, 0, 0), width=2)  # 绘制左上角坐标为(100, 100),右下角坐标为(200, 200)的矩形,边框为红色,宽度为2

此例中,绘制了一个起点为(50, 50),终点为(200, 50)的绿色直线,以及一个左上角坐标为(100, 100),右下角坐标为(200, 200)的红色矩形。

最后,保存修改后的图像:

image.save("output.jpg")

完整的代码示例:

from PIL import Image, ImageDraw, ImageFont

image = Image.open("example.jpg")
draw = ImageDraw.Draw(image)

# 添加文本
text_position = (10, 10)
text_content = "Hello, World!"
text_color = (255, 0, 0)
font = ImageFont.truetype("arial.ttf", 12)

draw.text(text_position, text_content, fill=text_color, font=font)

# 添加标注
draw.line([(50, 50), (200, 50)], fill=(0, 255, 0), width=2)
draw.rectangle([(100, 100), (200, 200)], outline=(255, 0, 0), width=2)

image.save("output.jpg")

在运行以上代码后,会在当前目录下生成名为output.jpg的图像文件,其中包含了添加了文本和标注的图像。

通过使用PIL库中的Image模块,可以方便地实现图像的文本和标注添加。可以根据具体需求,调整文本的位置、内容、颜色和字体等,以及标注的起始点、终止点或坐标等,来满足不同的图像处理需求。