ValueError: форма тензора (1, 32, 26, 3) несовместима с предоставленной формой [Нет , 32, 106, Нет].
Вот код, который я использовал:
Код: Выделить всё
!pip install python-doctr
!pip install "python-doctr[tf]"
!pip install "python-doctr[torch]"
from doctr.io import DocumentFile
from doctr.models import ocr_predictor
model = ocr_predictor(det_arch = 'db_resnet50', reco_arch = 'crnn_vgg16_bn', pretrained = True)
import cv2
import os
from zipfile import ZipFile
j=0
for filename in os.listdir(image_folder):
input_image_path = os.path.join(image_folder, filename)
# print(input_image_path)
# print(image_folder)
if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
image_bgr = DocumentFile.from_images(input_image_path)
base_name = os.path.splitext(filename)[0]
output_text_file = os.path.join(txt_folder, base_name + '.txt')
print(j+1)
j=j+1
print(filename)
text_result = model(image_bgr)
output_text = text_result.export()
with open(output_text_file, 'w') as file:
for obj1 in output_text['pages'][0]["blocks"]:
for obj2 in obj1["lines"]:
for obj3 in obj2["words"]:
file.write(obj3["value"]+' ')
print(" __________ ")
Примечание: все переменные, такие как имена файлов/ имена каталогов определены.
Подробнее здесь: https://stackoverflow.com/questions/779 ... -ocr-model