使用AnnotationBbox()函数在Python中给图像添加多个标注框
发布时间:2024-01-17 17:56:20
在Python中,可以使用matplotlib库来给图像添加标注框。其中,可以使用AnnotationBbox()函数来添加多个标注框。AnnotationBbox()函数的参数包括图像、文本、文本位置和文本样式等。下面是一个使用例子:
首先,导入需要的库:
import matplotlib.pyplot as plt from matplotlib.offsetbox import AnnotationBbox, OffsetImage
然后,加载图像和创建画布:
# 加载图像 image_path = 'example.png' image = plt.imread(image_path) # 创建画布 fig, ax = plt.subplots()
接着,设置标注框的位置和样式,并使用OffsetImage()函数创建一个偏移图像对象:
# 设置标注框的位置和样式 x1, y1 = 0.2, 0.2 x2, y2 = 0.8, 0.8 box_style = dict(boxstyle='round,pad=0.5', fc='yellow', alpha=0.5) # 创建一个偏移图像对象 imagebox = OffsetImage(image, zoom=0.2)
然后,使用AnnotationBbox()函数来创建一个标注框对象,并将其添加到坐标系中:
# 创建标注框对象 ab = AnnotationBbox(imagebox, (x1, y1), boxcoords="data", bboxprops=box_style) # 添加标注框到坐标系中 ax.add_artist(ab)
接下来,可以添加多个标注框,只需要重复上述步骤:
# 创建标注框对象 ab = AnnotationBbox(imagebox, (x2, y2), boxcoords="data", bboxprops=box_style) # 添加标注框到坐标系中 ax.add_artist(ab)
最后,可以设置坐标轴范围和标题,并展示图像:
# 设置坐标轴范围
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
# 设置标题
ax.set_title('Multiple Annotation Boxes')
# 展示图像
plt.show()
这样,就可以在Python中给图像添加多个标注框了。注意,要确保标注框的位置在合适的范围内,以便完整显示在图像上。
