Как адаптивно разделить изображение на области и установить различную ориентацию текста для каждого из них? - PullRequest
0 голосов
/ 17 мая 2019

Input-Sample

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)

выходное изображение Как вы можете видеть, я могу применить определение ориентации, но я хотел бы получить какой-либо значимый текст из такого изображения.

1 Ответ

0 голосов
/ 20 мая 2019

Попробуйте метод Tesseract API GetComponentImages, а затем DetectOrientationScript на каждом образе компонента.

...