Как извлечь текст из этих цветных изображений? - PullRequest
0 голосов
/ 28 мая 2019

Я хочу извлечь текст на ярлыках из изображений. Изображения окрашены и находятся в реальной жизни. Изображения PFA. Образец изображения

Я пробовал несколько решений:

  1. Я могу читать текст с плоских изображений с помощью Tesseract, но он не работает, если текст находится под определенным углом.
  2. Попробовал много предварительной обработки изображения, преобразовав его в двоичный и в оттенки серого, но не смог извлечь необходимый текст.
  3. Так как предыдущий шаг не удался, я также не смог де-перекосить текст.
    image = cv2.imread("p18-73.png",0)
    thresh = cv2.adaptiveThreshold(image,255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11,2)
    coords = np.column_stack(np.where(thresh > 0))
    angle = cv2.minAreaRect(coords)[-1]

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

1 Ответ

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

Проверяли ли вы результат cv2.adaptiveThreshold ()? Результат cv2.adaptiveThreshold () выглядит следующим образом:

Adaptive Threshold Result

Я думаю, что это не то, что вы хотите. Попробуйте использовать глобальный порог cv2.threshold () и отрегулируйте пороговое значение.

ret, thresh = cv2.threshold(image, 240, 255, cv2.THRESH_BINARY)

Global Threshold Result

Кроме того, вы можете добавить cv2.morphologyEx () для удаления шума.

kernel = np.ones((2,2),np.uint8)
thresh = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel)
...