我有以下 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/