Spaces:
Build error
Build error
Minor changes
Browse files
app.py
CHANGED
|
@@ -84,7 +84,7 @@ def crop_image(pil_img, detection_result, padding=30):
|
|
| 84 |
width = image.shape[1]
|
| 85 |
height = image.shape[0]
|
| 86 |
# print(width, height)
|
| 87 |
-
for
|
| 88 |
class_id = int(result[5])
|
| 89 |
score = float(result[4])
|
| 90 |
min_x = result[0]
|
|
@@ -113,7 +113,7 @@ def crop_image(pil_img, detection_result, padding=30):
|
|
| 113 |
|
| 114 |
crop_images.append(crop_image)
|
| 115 |
|
| 116 |
-
cv2.rectangle(image, (x1, y1), (x2, y2), color=(0, 0, 255))
|
| 117 |
cv2.putText(image, f'{score:.2f}', (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, fontScale=0.5, color=(255, 0, 0))
|
| 118 |
|
| 119 |
return crop_images, cv_to_PIL(image)
|
|
@@ -148,7 +148,7 @@ def convert_stucture(page_tokens, pil_img, structure_result):
|
|
| 148 |
bboxes = []
|
| 149 |
scores = []
|
| 150 |
labels = []
|
| 151 |
-
for
|
| 152 |
class_id = int(result[5])
|
| 153 |
score = float(result[4])
|
| 154 |
min_x = result[0]
|
|
@@ -206,12 +206,12 @@ def visualize_ocr(pil_img, ocr_result):
|
|
| 206 |
plt.gcf().set_size_inches(20, 20)
|
| 207 |
ax = plt.gca()
|
| 208 |
|
| 209 |
-
for
|
| 210 |
bbox = result['bbox']
|
| 211 |
text = result['text']
|
| 212 |
-
rect = patches.Rectangle(bbox[:2], bbox[2]-bbox[0], bbox[3]-bbox[1], linewidth=2, edgecolor='red', facecolor='none', linestyle=
|
| 213 |
ax.add_patch(rect)
|
| 214 |
-
ax.text(bbox[
|
| 215 |
|
| 216 |
plt.xticks([], [])
|
| 217 |
plt.yticks([], [])
|
|
@@ -224,17 +224,6 @@ def visualize_ocr(pil_img, ocr_result):
|
|
| 224 |
|
| 225 |
return PIL.Image.open(img_buf)
|
| 226 |
|
| 227 |
-
# image = PIL_to_cv(pil_img)
|
| 228 |
-
# for i, res in enumerate(ocr_result):
|
| 229 |
-
# bbox = res['bbox']
|
| 230 |
-
# x1 = int(bbox[0])
|
| 231 |
-
# y1 = int(bbox[1])
|
| 232 |
-
# x2 = int(bbox[2])
|
| 233 |
-
# y2 = int(bbox[3])
|
| 234 |
-
# cv2.rectangle(image, (x1, y1), (x2, y2), color=(255, 0, 0))
|
| 235 |
-
# cv2.putText(image, res['text'], (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, fontScale=0.25, color=(0, 0, 255))
|
| 236 |
-
# return cv_to_PIL(image)
|
| 237 |
-
|
| 238 |
|
| 239 |
def get_bbox_decorations(data_type, label):
|
| 240 |
if label == 0:
|
|
@@ -266,7 +255,7 @@ def visualize_structure(pil_img, structure_result):
|
|
| 266 |
plt.gcf().set_size_inches(20, 20)
|
| 267 |
ax = plt.gca()
|
| 268 |
|
| 269 |
-
for
|
| 270 |
class_id = int(result[5])
|
| 271 |
score = float(result[4])
|
| 272 |
min_x = result[0]
|
|
@@ -301,7 +290,7 @@ def visualize_structure(pil_img, structure_result):
|
|
| 301 |
rect = patches.Rectangle(bbox[:2], bbox[2]-bbox[0], bbox[3]-bbox[1],
|
| 302 |
linewidth=linewidth,
|
| 303 |
edgecolor=color, facecolor='none',
|
| 304 |
-
linestyle=
|
| 305 |
ax.add_patch(rect)
|
| 306 |
|
| 307 |
plt.xticks([], [])
|
|
@@ -311,7 +300,7 @@ def visualize_structure(pil_img, structure_result):
|
|
| 311 |
for class_name in structure_class_names[:-1]:
|
| 312 |
color, alpha, linewidth, hatch = get_bbox_decorations('recognition', structure_class_map[class_name])
|
| 313 |
legend_elements.append(
|
| 314 |
-
Patch(facecolor=
|
| 315 |
)
|
| 316 |
|
| 317 |
plt.legend(handles=legend_elements, bbox_to_anchor=(0.5, -0.02), loc='upper center', borderaxespad=0,
|
|
@@ -326,7 +315,7 @@ def visualize_structure(pil_img, structure_result):
|
|
| 326 |
|
| 327 |
|
| 328 |
def visualize_cells(pil_img, cells):
|
| 329 |
-
plt.imshow(pil_img, interpolation=
|
| 330 |
plt.gcf().set_size_inches(20, 20)
|
| 331 |
ax = plt.gca()
|
| 332 |
|
|
@@ -618,7 +607,7 @@ def main():
|
|
| 618 |
str_cols[2].subheader('Structure result')
|
| 619 |
str_cols[3].subheader('Cells result')
|
| 620 |
|
| 621 |
-
for
|
| 622 |
str_cols = st.columns(4)
|
| 623 |
|
| 624 |
vis_img = visualize_image(img)
|
|
|
|
| 84 |
width = image.shape[1]
|
| 85 |
height = image.shape[0]
|
| 86 |
# print(width, height)
|
| 87 |
+
for idx, result in enumerate(detection_result):
|
| 88 |
class_id = int(result[5])
|
| 89 |
score = float(result[4])
|
| 90 |
min_x = result[0]
|
|
|
|
| 113 |
|
| 114 |
crop_images.append(crop_image)
|
| 115 |
|
| 116 |
+
cv2.rectangle(image, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)
|
| 117 |
cv2.putText(image, f'{score:.2f}', (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, fontScale=0.5, color=(255, 0, 0))
|
| 118 |
|
| 119 |
return crop_images, cv_to_PIL(image)
|
|
|
|
| 148 |
bboxes = []
|
| 149 |
scores = []
|
| 150 |
labels = []
|
| 151 |
+
for idx, result in enumerate(structure_result):
|
| 152 |
class_id = int(result[5])
|
| 153 |
score = float(result[4])
|
| 154 |
min_x = result[0]
|
|
|
|
| 206 |
plt.gcf().set_size_inches(20, 20)
|
| 207 |
ax = plt.gca()
|
| 208 |
|
| 209 |
+
for idx, result in enumerate(ocr_result):
|
| 210 |
bbox = result['bbox']
|
| 211 |
text = result['text']
|
| 212 |
+
rect = patches.Rectangle(bbox[:2], bbox[2]-bbox[0], bbox[3]-bbox[1], linewidth=2, edgecolor='red', facecolor='none', linestyle='-')
|
| 213 |
ax.add_patch(rect)
|
| 214 |
+
ax.text(bbox[2], bbox[3], text, horizontalalignment='left', verticalalignment='bottom', color='blue', fontsize=7)
|
| 215 |
|
| 216 |
plt.xticks([], [])
|
| 217 |
plt.yticks([], [])
|
|
|
|
| 224 |
|
| 225 |
return PIL.Image.open(img_buf)
|
| 226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 227 |
|
| 228 |
def get_bbox_decorations(data_type, label):
|
| 229 |
if label == 0:
|
|
|
|
| 255 |
plt.gcf().set_size_inches(20, 20)
|
| 256 |
ax = plt.gca()
|
| 257 |
|
| 258 |
+
for idx, result in enumerate(structure_result):
|
| 259 |
class_id = int(result[5])
|
| 260 |
score = float(result[4])
|
| 261 |
min_x = result[0]
|
|
|
|
| 290 |
rect = patches.Rectangle(bbox[:2], bbox[2]-bbox[0], bbox[3]-bbox[1],
|
| 291 |
linewidth=linewidth,
|
| 292 |
edgecolor=color, facecolor='none',
|
| 293 |
+
linestyle='--')
|
| 294 |
ax.add_patch(rect)
|
| 295 |
|
| 296 |
plt.xticks([], [])
|
|
|
|
| 300 |
for class_name in structure_class_names[:-1]:
|
| 301 |
color, alpha, linewidth, hatch = get_bbox_decorations('recognition', structure_class_map[class_name])
|
| 302 |
legend_elements.append(
|
| 303 |
+
Patch(facecolor='none', edgecolor=color, linewidth=linewidth, linestyle='--', label=class_name, hatch=hatch)
|
| 304 |
)
|
| 305 |
|
| 306 |
plt.legend(handles=legend_elements, bbox_to_anchor=(0.5, -0.02), loc='upper center', borderaxespad=0,
|
|
|
|
| 315 |
|
| 316 |
|
| 317 |
def visualize_cells(pil_img, cells):
|
| 318 |
+
plt.imshow(pil_img, interpolation='lanczos')
|
| 319 |
plt.gcf().set_size_inches(20, 20)
|
| 320 |
ax = plt.gca()
|
| 321 |
|
|
|
|
| 607 |
str_cols[2].subheader('Structure result')
|
| 608 |
str_cols[3].subheader('Cells result')
|
| 609 |
|
| 610 |
+
for idx, img in enumerate(crop_images):
|
| 611 |
str_cols = st.columns(4)
|
| 612 |
|
| 613 |
vis_img = visualize_image(img)
|