Skip to content

Commit b2accc2

Browse files
authored
Merge pull request #88 from RapidAI/optim_code
fix: remove unuse code
2 parents 725777a + 641aa0c commit b2accc2

File tree

1 file changed

+0
-89
lines changed

1 file changed

+0
-89
lines changed

wired_table_rec/table_line_rec_plus.py

Lines changed: 0 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import cv2
66
import numpy as np
77
from skimage import measure
8-
import matplotlib.pyplot as plt
98
from wired_table_rec.utils import OrtInferSession, resize_img
109
from wired_table_rec.utils_table_line_rec import (
1110
get_table_line,
@@ -144,94 +143,6 @@ def postprocess(self, img, pred, **kwargs):
144143
rotated_polygons = polygons.copy()
145144
return polygons, rotated_polygons
146145

147-
def find_max_corners(self, line_img):
148-
# 找到所有轮廓
149-
contours, _ = cv2.findContours(
150-
line_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE
151-
)
152-
153-
# 如果没有找到轮廓,返回空列表
154-
if not contours:
155-
return []
156-
157-
# 找到面积最大的轮廓
158-
max_contour = max(contours, key=cv2.contourArea)
159-
# 计算最大轮廓的最小外接矩形
160-
rect = cv2.minAreaRect(max_contour)
161-
162-
# 获取最小外接矩形的四个角点
163-
box = cv2.boxPoints(rect)
164-
box = np.int0(box)
165-
#
166-
# 对角点进行排序
167-
# 计算中心点
168-
center = np.mean(box, axis=0)
169-
170-
# 计算每个点与中心点的角度
171-
angles = np.arctan2(box[:, 1] - center[1], box[:, 0] - center[0])
172-
173-
# 按角度排序
174-
sorted_indices = np.argsort(angles)
175-
sorted_box = box[sorted_indices]
176-
177-
# 确保顺序为左上、右上、右下、左下
178-
top_left = sorted_box[0]
179-
top_right = sorted_box[1]
180-
bottom_right = sorted_box[2]
181-
bottom_left = sorted_box[3]
182-
183-
# 创建一个纯黑色背景图像
184-
black_img = np.zeros_like(line_img)
185-
186-
# 可视化最大轮廓和四个角点
187-
plt.figure(figsize=(10, 10))
188-
plt.imshow(black_img, cmap="gray")
189-
plt.title("Max Contour and Corners on Black Background")
190-
191-
# 绘制最大轮廓
192-
max_contour = max_contour.reshape(-1, 2)
193-
plt.plot(max_contour[:, 0], max_contour[:, 1], "b-", linewidth=2)
194-
195-
# 绘制四个角点
196-
plt.scatter(
197-
[top_left[0], top_right[0], bottom_right[0], bottom_left[0]],
198-
[top_left[1], top_right[1], bottom_right[1], bottom_left[1]],
199-
c="g",
200-
s=100,
201-
marker="o",
202-
)
203-
204-
plt.axis("off")
205-
plt.show()
206-
207-
return [top_left, top_right, bottom_right, bottom_left]
208-
209-
def extend_image_and_adjust_coordinates(self, img, corners, polygons):
210-
# 计算扩展边界
211-
min_x = min(point[0] for point in corners)
212-
min_y = min(point[1] for point in corners)
213-
max_x = max(point[0] for point in corners)
214-
max_y = max(point[1] for point in corners)
215-
216-
# 计算扩展的宽度和高度
217-
left = -min_x if min_x < 0 else 0
218-
top = -min_y if min_y < 0 else 0
219-
right = max_x - img.shape[1] if max_x > img.shape[1] else 0
220-
bottom = max_y - img.shape[0] if max_y > img.shape[0] else 0
221-
222-
# 扩展图像
223-
new_width = img.shape[1] + left + right
224-
new_height = img.shape[0] + top + bottom
225-
extended_img = np.zeros((new_height, new_width), dtype=img.dtype)
226-
extended_img[top : top + img.shape[0], left : left + img.shape[1]] = img
227-
228-
# 调整角点和多边形坐标
229-
adjusted_corners = [(point[0] + left, point[1] + top) for point in corners]
230-
adjusted_polygons = polygons.copy()
231-
adjusted_polygons[:, 0::2] += left
232-
adjusted_polygons[:, 1::2] += top
233-
return extended_img, adjusted_corners, adjusted_polygons
234-
235146
def cal_region_boxes(self, tmp):
236147
labels = measure.label(tmp < 255, connectivity=2) # 8连通区域标记
237148
regions = measure.regionprops(labels)

0 commit comments

Comments
 (0)