Кто-нибудь может предложить хорошую библиотеку обработки изображений с открытым исходным кодом в Java? Я хочу создать читатель OMR, используя его.
С открытым исходным кодом обработка изображений в java
Ответ 1
Существует несколько вариантов, каждый из которых имеет свои особенности и недостатки. Если вы хотите более подробно обсудить свои потребности, я могу затронуть конкретные атрибуты каждой библиотеки, связанные с вашим проектом:
- ImageJ - http://rsbweb.nih.gov/ij/index.html - Обратите внимание, что ImageJ - это в первую очередь автономное приложение. Однако базовый API очень прост в использовании в ваших собственных приложениях без необходимости использовать GUI.
- Фиджи - http://pacific.mpi-cbg.de/wiki/index.php/Main_Page - это ImageJ с рядом дополнительных функций. У меня нет личного опыта работы с этой библиотекой, но она выглядит многообещающей.
- JAI - http://www.oracle.com/technetwork/articles/javaee/jai-142803.html - Это приложение для обработки изображений Sun. Ограниченный по функциональности, но он может использоваться как основа для более мощных библиотек.
- jMagick - http://www.jmagick.org/index.html - Это всего лишь оболочка Java вокруг ImageMagick и использует JNI для взаимодействия с API ImageMagick
- Apache Sanselan - http://commons.apache.org/imaging/ - эта библиотека в основном делает изображение IO, но имеет несколько функций, которые могут облегчить анализ изображений.
- JIU (Java Imaging Utilities) - http://sourceforge.net/projects/jiu/ - библиотека Java для загрузки, редактирования, анализа и сохранения файлов изображений в пикселях.
- Endrov - http://www.endrov.net/wiki/index.php?title=Main_Page - Endrov - это многоцелевая программа анализа изображений. У меня создается впечатление, что базовый API можно использовать вне приложения, но также кажется, что не все реализовано на Java. У меня нет личного опыта работы с этой библиотекой, и я просто бросаю ее, потому что у нее есть ряд полезных функций.
Ответ 2
Ответ 3
Платформа обработки изображений Marvin
Ответ 4
и мертвый-простой: imgscalr
Ответ 5
Я бы предложил использовать JAI, как упоминалось, для области обработки изображений, но для написания приложения OMR вам потребуется регистрация шаблонов. Этого можно добиться с помощью OpenCv. Это работает с Java (как и многие другие языки и платформы).
Без хорошей регистрации изображений, независимо от библиотеки обработки изображений, в некоторых случаях вы потеряете некоторые отметки, так как вы обнаружите, что некоторые сканы сдвинуты из-за того, как работают сканеры.