Input-Sample
Я пытаюсь предварительно обработать мои изображения, чтобы улучшить качество изображения.Тем не менее, я застрял с проблемой.Изображения, с которыми я имею дело, содержат разные ориентации текста на одном и том же изображении (2 страницы, 1-я вертикальная, 2-я горизонтальная и они сканируются на одно и то же изображение.
Направление текста автоматически определяется дляПервая часть. Тем не менее, остальная часть текста с другой страницы полностью пропущена. Я думал о создании зонального шаблона для обнаружения областей интереса, но я не знаю, как. Или автоматически определить границу и разделитьАдаптивное изображение затем переверните разделенную часть для достижения требуемого результата.
Я мог бы установить разделение на основе фиксированной высоты пикселя, но она также не является постоянной.
from tesserocr import PyTessBaseAPI, RIL
import cv2
from PIL import Image
with PyTessBaseAPI() as api:
filePath = r'sample.jpg'
img = Image.open(filePath)
api.SetImage(img)
boxes = api.GetComponentImages(RIL.TEXTLINE, True)
print('Found {} textline image components.'.format(len(boxes)))
for i, (im, box, _, _) in enumerate(boxes):
# im is a PIL image object
# box is a dict with x, y, w and h keys
api.SetRectangle(box['x'], box['y'], box['w'], box['h'])
ocrResult = api.GetUTF8Text()
conf = api.MeanTextConf()
for box in boxes:
box = boxes[0][1]
x = box.get('x')
y = box.get('y')
h = box.get('h')
w = box.get('w')
cimg = cv2.imread(filePath)
crop_img = cimg[y:y+h, x:x+w]
cv2.imshow("cropped", crop_img)
cv2.waitKey(0)
выходное изображение Как вы можете видеть, я могу применить определение ориентации, но я хотел бы получить какой-либо значимый текст из такого изображения.