Java OCR реализация [закрыто]

160

Это в первую очередь просто любопытство, но есть ли реализации OCR в чистой Java? Мне любопытно, как это будет работать исключительно на Java, и OCR в целом меня интересует, поэтому я хотел бы посмотреть, как это реализовано на языке, который я полностью понимаю. Естественно, это потребовало бы, чтобы реализация была с открытым исходным кодом, но я все еще заинтересован в проприетарных решениях, поскольку я мог бы по крайней мере проверить производительность в этом случае.

Я видел пару, которые можно использовать в Java (например, Asprise ), но не похоже, что это чистые реализации Java ... есть ли?

крыса
источник
@Robik Во-первых, пока вы на нем, вы также должны удалить ненужные слова благодарности и т. Д. И, во-вторых, вам не следует редактировать в таком предположении, особенно если OP все еще активен, и вы можете просто комментировать - хотя это, вероятно, будет правда в этом случае ... @ крыса Просто чтобы уточнить, ты имел в виду подспудный?
Тобиас Кинцлер
Если вы не ищете подход, основанный исключительно на Java, возможно, имеет смысл построить мост JNI (например, Tess4J ). Мне кажется, что библиотеки OCR лучше представлены в мире C ++ (OCRAD, GOCR, Cuneiform - см. Все здесь ).
dma_k
@rat - Вы правы - Asprise OCR SDK для Java не основан исключительно на Java . Фактически, за кулисами используется нативный код, так как OCR - очень дорогой вычислительный процесс.
Поддержка Asprise

Ответы:

81

Я рекомендую попробовать проект Java OCR на sourceforge.net. Я изначально разработал его, и у меня есть блог на нем .

С тех пор, как я установил его на sourceforge, его функциональность была значительно расширена и улучшена благодаря большой работе добровольного исследователя / разработчика.

Попробуйте, и если вам это не нравится, вы всегда можете улучшить его!

Рон
источник
18
@ Рон Я тоже посмотрел проект. Я не нашел демонстрационную версию, и графический интерфейс пользователя выполняет различные графические операции, но нет никаких инструкций о том, как добиться реального распознавания символов.
Джеймс П.
1
@ Когда я перехожу по ссылке на твой блог, я вижу пустую страницу.
neoneye
3
@ Где я могу получить документацию или дополнительный блог или учебник.
altsyset
1
Как импортировать Java OCR в затмении?
Фейсал Ашраф
2
Привет, есть ли учебники для этого?
Колодец
10

Мы протестировали несколько механизмов OCR с Java, таких как Tesseract, Asprise, Abbyy и т. Д. В нашем анализе Abbyy дала наилучшие результаты.

Голубое небо
источник
1
Java API или реализации Java ..?
Эвокс
Нет, но есть версия командной строки, с которой вы можете общаться с помощью ProcessBuilder.
Аарон Дигулла
1
Ни Tesseract, ни Abbyy не основаны на Java. У них просто есть API для Java.
Крисп
10

Если вы ищете очень расширяемую опцию или у вас есть конкретная проблемная область, вы можете рассмотреть возможность развертывания своей собственной, используя Java Object Oriented Neural Engine . Еще одна ссылка JOONE .

Я использовал его успешно в личный проект , чтобы определить письмо от изображения , например, это , вы можете найти все исходные для компонента OCR моего приложения на GitHub, здесь .

davetapley
источник
1
Ох, спасибо за пример. Я скачал его и планирую адаптировать для своих нужд!
Аманда С
Можете ли вы показать мне, как компилировать?
RadijatoR
Боюсь, проект больше не поддерживается @RadijatoR, поэтому я не могу дать совет.
Даветаплей
4
Большинство ссылок мертвы.
Эрик
5

Существует множество библиотек OCR. Однако мой опыт показывает, что основные коммерческие реализации, ABBYY, Omnipage и ReadIris, намного превосходят реализации с открытым исходным кодом или другие незначительные реализации. Эти коммерческие библиотеки изначально не предназначены для работы с Java, хотя, конечно, это возможно.

Конечно, если вы заинтересованы в изучении кода, реализации с открытым исходным кодом сделают свое дело.

Джошуа Фокс
источник