Table-detection / table_extraction.py
Sharathhebbar24's picture
First HF_SPace APp
d28ba37
raw
history blame
2.13 kB
from ultralyticsplus import YOLO, render_result
from pathlib import Path, PurePath
class Table_extraction():
def __init__(self, image, OUTPUTS_DIR):
self.model = YOLO('keremberke/yolov8m-table-extraction')
self.model.overrides['conf'] = 0.25
self.model.overrides['iou'] = 0.45
self.model.overrides['agnostic_nms'] = False
self.model.overrides['max_det'] = 1000
self.image = image
self.OUTPUTS_DIR = OUTPUTS_DIR
def get_results(self):
self.results = self.model(self.image)
render = render_result(model=self.model, image=self.image, result=self.results[0])
op_img = self.OUTPUTS_DIR + Path(self.image).name
render.save(op_img)
return op_img
# def recognize_coords(self):
# final_results = []
# result = str(self.results)
# print(result)
# result = result.split('(')
# print('Result', result)
# if '\n' not in result[1]:
# print('In if')
# coords = []
# result = result[1][2: -3].split(',')
# for i in result:
# coords.append(float(i))
# final_results.append(coords)
# return final_results
# else:
# result = result[1:][0]
# result = result.split('\n')
# j = 0
# print('Results: ', result)
# for i in result:
# coords = []
# i = i.strip()
# if j == 0:
# print(i)
# i = i[2:-2]
# print(i)
# elif j == len(result) - 1:
# i = i[1:-3]
# else:
# i = i[1:-2]
# j+=1
# print(i)
# i = i.split(',')
# print(i)
# for k in i:
# coords.append(float(k))
# final_results.append(coords)
# return final_results
# te = Table_extraction('junks\9.png', 'outputs/123')
# te.get_results()
# print(te.recognize_coords())