Размытый текст от распознавания документов и обнаружения - PullRequest
0 голосов
/ 28 мая 2018

У меня очень специфическая текст сцены проблема обнаружения и разбора.Я даже не уверен, что вы можете сказать, что это фактический текст сцены .

Я извлек поле имени из фотографии удостоверения личности: enter image description here

Я мог бы сразу начать применять оптическое распознавание к этому изображению, но я считаю, что можно применить дальнейшую локализацию текста.Чтобы получить это изображение: enter image description here Вам известен какой-либо из таких алгоритмов локализации текста?Я уже пробовал ' FASText by Busta ', ' EAST by argman ', и они работают прилично.Какие-нибудь алгоритмы для этой конкретной задачи?

После локализации текста я думаю, что сейчас самое время применить OCR.И теперь я чувствую себя потерянным. Какое OCR вы могли бы порекомендовать использовать?Я уже попробовал «Тессеракт», но он просто не работает.Лучше сделать собственный OCR для символов документа, используя, например, Tensorflow?

1 Ответ

0 голосов
/ 29 мая 2018

Попробуйте увеличить контрастность изображения.Вы можете использовать:

import matplotlib.pyplot as plt
import cv2
import numpy as np


def cvt_BGR2RGB(img):
  return cv2.cvtColor(img,cv2.COLOR_BGR2RGB)


def contrast(img,show=False):
  # CLAHE (Contrast Limited Adaptive Histogram Equalization)
  clahe=cv2.createCLAHE(clipLimit=3., tileGridSize=(8,8))

  lab=cv2.cvtColor(img, cv2.COLOR_BGR2LAB)  # convert from BGR to LAB color space
  l,a,b=cv2.split(lab)  # split on 3 different channels

  l2=clahe.apply(l)  # apply CLAHE to the L-channel

  lab=cv2.merge((l2,a,b))  # merge channels
  img2=cv2.cvtColor(lab, cv2.COLOR_LAB2BGR)  # convert from LAB to BGR
  if show:
    #plot the original and contrasted image
    f=plt.figure(figsize=(15,15))
    ax1=f.add_subplot(121)
    img1_cvt=cvt_BGR2RGB(img)
    plt.imshow(img1_cvt)
    ax2=f.add_subplot(122)
    img2_cvt=cvt_BGR2RGB(img2)
    plt.imshow(img2_cvt)
    plt.show()
  return img,img2

И, возможно, тогда вы можете использовать pyteserract

...