2016-08-31 6 views
-2

Я работаю над программой для извлечения текста из изображения. Для этого я пробовал с Tessaract и Ocropus библиотеками, и я могу преобразовать простой простой текст (черно-белый с простым шрифтом) из изображения в текстовую строку. Например:OCR: Извлечь текст из изображения

Example of image 1

Но я не смог извлечь текст из сложного изображения. Скажем, например, из этого изображения:

Example of image 2

Кто-нибудь знает, как этого добиться? Есть ли какая-либо библиотека, доступная для извлечения текста из сложных изображений (с непредсказуемым разным фоном? Я предпочту Python, но язык не является баром.

+0

Слышали ли вы о кодеках капчей? Причина, по которой они используются, заключается в том, что компьютер обнаруживает текст, если он искажен, как в логотипе, который вы хотите прочитать. Но я бы начал с попытки конвертировать логотип по крайней мере в нечто вроде черного на белом тексте и посмотреть, что оттуда;) – meetaig

+1

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

+0

Есть ли способ, чтобы моя программа знала только текст и удаляла шум (фон) ?. Например, удалите все из фона, кроме 'Sprite'. После этого будет проще преобразовать его в строку. –

ответ

2

Как все это распознавание слов является алгоритмом машинного обучения, изображения с уже интерпретированным соответствующим текстом.Он учится понимать буквы из разных шрифтов и видимостей, которые ему даны.

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

Это возможно чтобы распознать торговую марку Sprite везде, где она ее видит. Для этого вам нужно будет использовать OpenCV и обучать его логотипам Sprite разных качеств, фотографиям логотипов Sprite на магазинах, бутылках и т. Д. Таким образом, он сможет увидеть этот конкретный логотип (вам также понадобится набор данных логотипов non-Sprite, таких как логотип Coke или изображение чего-то совершенно неуместного, например, кошка).

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

+0

+1 для последней строки: * Когда компьютеры будут такими же мощными, как люди, с точки зрения вычислительной мощности, задайте этот вопрос, и вы получите автоматический ответ от человекоподобной машины. * :( –