Skip to content

Commit 8d65708

Browse files
author
Robert Sachunsky
committed
resegment: fix 2 edge cases
1 parent 38ce45b commit 8d65708

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

ocrd_cis/ocropy/resegment.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,8 @@ def _process_segment(self, parent, parent_image, parent_coords, page_id, zoom, l
262262
for i, label in enumerate(labels):
263263
distances[i] = morph.dist_labels(label.astype(np.uint8))
264264
# normalize the distances of all lines so larger ones do not displace smaller ones
265-
distances[i] = distances[i] / distances[i].max() * 255
265+
if distances[i].any():
266+
distances[i] = distances[i] / distances[i].max() * 255
266267
# use depth to flatten overlapping lines as seed labels
267268
new_labels = np.argmax(distances, axis=0)
268269
else:
@@ -496,7 +497,8 @@ def spread_dist(lines, old_labels, new_labels, binarized, components, coords,
496497
else:
497498
# get alpha shape
498499
poly = join_polygons([make_valid(Polygon(contour))
499-
for contour in contours],
500+
for contour in contours
501+
if len(contour) >= 4],
500502
loc=line.id, scale=maxdist)
501503
poly = poly.exterior.coords[:-1]
502504
polygon = coordinates_for_segment(poly, None, coords)

0 commit comments

Comments
 (0)