Revert `segment2box` and clip segments (#18294)

pull/18295/head^2
Laughing 2 months ago committed by GitHub
parent 31aaf0e057
commit f0d3b167fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 9
      ultralytics/utils/ops.py

@ -75,8 +75,13 @@ def segment2box(segment, width=640, height=640):
(np.ndarray): the minimum and maximum x and y values of the segment.
"""
x, y = segment.T # segment xy
x = x.clip(0, width)
y = y.clip(0, height)
# any 3 out of 4 sides are outside the image, clip coordinates first, https://github.com/ultralytics/ultralytics/pull/18294
if np.array([x.min() < 0, y.min() < 0, x.max() > width, y.max() > height]).sum() >= 3:
x = x.clip(0, width)
y = y.clip(0, height)
inside = (x >= 0) & (y >= 0) & (x <= width) & (y <= height)
x = x[inside]
y = y[inside]
return (
np.array([x.min(), y.min(), x.max(), y.max()], dtype=segment.dtype)
if any(x)

Loading…
Cancel
Save