How to add text to an image segment
11,916
plt.text(x, y, s, bbox=dict(fill=False, edgecolor='red', linewidth=2))
with x
being the coodinate of your x-axis and y
the coordinate of your y-axis. s
is the string you want to write to your plot.
bbox let's you have both a text and a rectangle around it. bbox
requires a dict with the Rectangle properties (https://matplotlib.org/api/_as_gen/matplotlib.patches.Rectangle.html#matplotlib.patches.Rectangle), which you already used in your code.
![Nour](https://lh6.googleusercontent.com/-YDjPgWzQ6JU/AAAAAAAAAAI/AAAAAAAAAAA/APUIFaMLk3C64FFz6OlzP6wS_7AZgyNp-g/mo/photo.jpg?sz=256)
Author by
Nour
Updated on June 18, 2022Comments
-
Nour about 2 years
I have the following Python code, which adds a bounding box around the detected segments
%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()
Instead of drawing a bounding box, I want to number the segments. i.e. I want to add a number at the center of each segment. How can I do this?