From ebdf3cefbffaf2e1fab9ce20c6288c3ac72658ed Mon Sep 17 00:00:00 2001 From: iriley Date: Thu, 7 Mar 2024 11:02:16 +0100 Subject: [PATCH] rebase: feat: use line-mapping logic --- src/cv_analysis/table_parsing.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/cv_analysis/table_parsing.py b/src/cv_analysis/table_parsing.py index 9e35f99..eb6fcc0 100644 --- a/src/cv_analysis/table_parsing.py +++ b/src/cv_analysis/table_parsing.py @@ -178,17 +178,21 @@ def detect_endpoints( return (dist_a < 15) and (dist_b < 15) and overlap - points = cv2.HoughLinesP( - image, # Input edge image - 1, # Distance resolution in pixels - np.pi / 180, # Angle resolution in radians - threshold=100, # Min number of votes for valid line - minLineLength=200, # Min allowed length of line - maxLineGap=10, # Max allowed gap between line for joining them - ) - points = points if points is not None else [] - lines = list(map(lambda x: tuple(x[0]), points)) + lines = list( + map( + lambda x: tuple(x[0]), + cv2.HoughLinesP( + image, # Input edge image + 1, # Distance resolution in pixels + np.pi / 180, # Angle resolution in radians + threshold=100, # Min number of votes for valid line + minLineLength=200, # Min allowed length of line + maxLineGap=10, # Max allowed gap between line for joining them + ), + ) + ) + if not lines: return lines index = int(is_horizontal)