我有以下 Python 代码,它在检测到的片段周围添加了一个边界框

%matplotlib qt
fig, ax = plt.subplots(figsize=(10, 6))
ax.imshow(image_label_overlay)
for region in regions:
 # take regions with large enough areas
 if region.area >= 100:
    # draw rectangle around segmented coins
    minr, minc, maxr, maxc = region.bbox
    rect = mpatches.Rectangle((minc, minr), maxc - minc, maxr - minr,
                              fill=False, edgecolor='red', linewidth=2)
    ax.add_patch(rect)


 ax.set_axis_off()

 plt.tight_layout()
 plt.show()

我不想绘制边界框,而是想对段进行编号。即我想在每个段的中心添加一个数字。我怎样才能做到这一点?

最佳答案

plt.text(x, y, s, bbox=dict(fill=False, edgecolor='red', linewidth=2))
x 是 x 轴的坐标,y 是 y 轴的坐标。 s 是您要写入绘图的字符串。

bbox 让你在它周围有一个文本和一个矩形。 bbox 需要具有 Rectangle 属性 ( https://matplotlib.org/api/_as_gen/matplotlib.patches.Rectangle.html#matplotlib.patches.Rectangle ) 的 dict,您已经在代码中使用了该属性。

关于python - 如何将文本添加到图像段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53740340/

10-12 06:05