2017-01-31 24 views
3

Два, тип номера я пытаюсь извлечь
Two, the type of number I am trying to extract Another sample Another sampleИзвлечение текста из изображения

Изображение выше вывод из другого изображения, от которого я пытаюсь извлечь все цифры. Я выбираю каждый номер индивидуально, выполняя преобразования изображений (порог, контрастность изображения, усреднение, затем контрастность), где ни один из них не обеспечивает надежный и надежный вывод.

Использование пороговых значений хорошо работает, но яркость извлеченной цифры не всегда одинакова, поэтому пороговые значения должны быть скорректированы так, чтобы они были точными. Мне нужно что-то, что будет работать каждый раз. Результат, который я ищу, похож на изображение ниже. После выполнения преобразований изображения изображение выполняется через OCR Tesseract. Когда изображение ниже и тому подобное помещается через Tesseract, выход почти всегда правильный.

Требуемое изображение после преобразования изображения:
The desired image after image transformations

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

+0

Просьба представить еще несколько образцов , –

ответ

4

Ни один человек, вам, возможно, не придется делать все это самостоятельно, OpenCV уже реализовал метод бинаризации OTSU, который бы точно соответствовал вашему делу. В основном предполагается, что распределение входных интенсивностей должно быть бимодальным. И, следовательно, пытается найти оптимальный порог. Вы можете прочитать больше here. И вот небольшой код вместе с генерируемыми выходами.

import cv2 

img = cv2.imread("/home/abc/Downloads/1ltYB.png", 0) 
ret, thresh = cv2.threshold(img, 10, 255, cv2.THRESH_OTSU) 

print "Threshold selected : ", ret 
cv2.imwrite("./debug.png", thresh) 

Вход: (я обрезанное изображение, чтобы удалить дополнительные прокладки)

enter image description here

Выход:

enter image description here

+0

Спасибо за кучи за помощь !! Он отлично работает! – Barkles

+0

Точно - хорошее решение. –