2017-02-04 19 views
1

Я новичок в мире Computer Vision.Выполнение OCR для идентификации текста, написанного на грузовиках/автомобилях или других транспортных средствах

Я пытаюсь использовать Tesseract для обнаружения чисел, написанных на стороне грузовиков.

Image of a truck taken from Wikipedia

Так для этого примера, я хотел бы видеть CMA CGM в качестве выхода.

Я кормил это изображение Tesseract с помощью командной строки

tesseract image.JPG out -psm 6 

но дали пустой файл.

Затем я прочитал документацию Tesserocr (питон обертку из Tesseract) и попытался следующий код

with PyTessBaseAPI() as api: 
    api.SetImage(image) 
    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() 
     print (u"Box[{0}]: x={x}, y={y}, w={w}, h={h}, " 
       "confidence: {1}, text: {2}").format(i, conf, ocrResult, **box) 

и снова он не смог прочитать символы на картинке.

Вопрос: как я должен решить эту проблему? (Я не ищу готовый код, а подход к решению этой проблемы).

Нужно ли мне обучать tesseract примерами изображений или я могу просто написать код с использованием существующих библиотек, чтобы как-то обнаружить координаты грузовика и попытаться сделать OCR только в пределах грузовика?

ответ

0

Tesseract ожидает изображения только для документов, но на вашем изображении есть не-документы. Вам понадобится сложный процесс сегментации (а затем, вероятно, некоторый процесс обработки изображений), перед подачей его на Tesseract-OCR.

+1

Не могли бы вы подробнее рассказать о сложной части сегментации. Как мне следует сегментировать его и на какой стадии он будет готов к подаче в Tesseract? – Piyush

+0

-psm вариант Tesseract примитивен по сравнению с тем, что вам нужно. Вам нужно что-то похожее на процесс обнаружения номерного знака, т. Е. Найти текст из нетекстовых частей изображения. OpenCV и его сообщества могут помочь. –