Для всех изображений все работает хорошо, но для некоторых изображений я получаю эту ошибку. Я не понимаю, как это сделать. измените код.
работает нормально на doc=Image(path)
появляется ошибка на этапе извлечения таблицы
Код: Выделить всё
from img2table.ocr import PaddleOCR
from img2table.document import Image
# Instantiation of OCR
ocr = PaddleOCR(lang="en")
doc=Image("imgpath")
# Table extraction
extracted_tables = doc.extract_tables(ocr=ocr,
implicit_rows=False,
implicit_columns=False,
borderless_tables=False,
min_confidence=50)
Traceback (последний вызов — последний):
Файл "c:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\test.py", строка 47, в
extract_table_data(r'C:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\detectedTables')
файл "c:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\test.py ", строка 23, в Extract_table_data
extracted_tables = doc.extract_tables(ocr=ocr,
^^^^^^^^^^^^^^^^^^^^^^^^^ ^^
Файл "C:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\myenv\Lib\site-packages\img2table\document\image.py", строка 48, в extract_tables
extracted_tables = super (Изображение, self).extract_tables(ocr=ocr,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^
Файл "C:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\myenv\Lib\site-packages\img2table\document\base_init_. py", строка 127, в extract_tables
tables = {idx: TableImage(img=img,
^^^^^^^^^^^^^^^^^^^^^^ ^^
Файл "C:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\myenv\Lib\site-packages\img2table\document\base_init_.py", строка 128, в
min_confidence=min_confidence).extract_tables(implicit_rows=implicit_rows,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^
Файл "C:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\myenv\Lib\site-packages\img2table\tables\image.py", строка 129, в Extract_tables
self.extract_bordered_tables(implicit_rows=implicit_rows,
Файл "C:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\myenv\Lib\site-packages\img2table\tables\image.py ", строка 66, в extract_bordered_tables
h_lines, v_lines =Detect_lines(img=self.img,
^^^^^^^^^^^^^^^^^^^^^^^ ^^^
Файл "C:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\myenv\Lib\site-packages\img2table\tables\processing\bordered_tables\lines.py", строка 112, в define_lines
h_lines =identify_straight_lines(thresh=binary_img,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
Файл "C:\Users\BG20281360\Desktop\python\tableDetctionDataExtraction\myenv\Lib\site-packages\img2table\tables\processing\bordered_tables\lines.py", строка 23, в define_straight_lines
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, kernel_dims)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^
cv2.error: OpenCV(4.10.0) d:\a\opencv-python\opencv- python\opencv\modules\imgproc\src\filterengine.hpp:367: ошибка: (-215: утверждение не выполнено) anchor.inside(Rect(0, 0, ksize.width, ksize.height)) в функции 'cv:: нормализоватьAnchor'
Подробнее здесь: https://stackoverflow.com/questions/790 ... y-extracti