Java DIP - библиотеки с открытым исходным кодом
В этой главе мы исследуем некоторые из бесплатных библиотек обработки изображений, которые широко используются и могут быть легко интегрированы в проект. Эти библиотеки включают в себя -
- ImageJ
- Fiji
- Commons Imaging
- ImageMagick
- Endrov
- LeadTools
- OpenCv
ImageJ
ImageJ - это общедоступная программа обработки изображений Java, созданная на основе NIH Image для Macintosh. Он может отображать, редактировать, анализировать, обрабатывать, сохранять и печатать 8-битные, 16-битные и 32-битные изображения.
Некоторые из основных функций ImageJ описаны ниже -
Sr. No. | Характеристика и описание |
---|---|
1 |
Runs Everywhere ImageJ написан на Java, что позволяет ему работать в Linux, Mac OS X и Windows как в 32-битном, так и в 64-битном режимах. |
2 |
Open Source ImageJ и его исходный код Java находятся в свободном доступе и являются общественным достоянием. |
3 |
Toolkit Используйте ImageJ как набор инструментов для обработки изображений (библиотеку классов) для разработки апплетов, сервлетов или приложений. |
4 |
Data Types 8-битная шкала серого или индексированный цвет, 16-битное целое число без знака, 32-битное число с плавающей запятой и цвет RGB. |
5 |
File Formats Откройте и сохраните GIF, JPEG, BMP, PNG, PGM, FITS и ASCII. Откройте DICOM. Открывайте файлы TIFF, GIF, JPEG, DICOM и необработанные данные с помощью URL-адреса. |
6 |
Selections Создавайте прямоугольные, эллиптические или неправильные области выделения. Создавайте выделенные линии и точки. |
7 |
Image Enhancement Поддерживает сглаживание, повышение резкости, обнаружение границ, медианную фильтрацию и определение пороговых значений как для 8-битных изображений в градациях серого, так и для цветных изображений RGB. |
8 |
Color Processing Разделите 32-битное цветное изображение на компоненты RGB или HSV. Объедините 8-битные компоненты в цветное изображение. |
Фиджи
Fiji - это пакет для обработки изображений. Его можно описать как распространение ImageJ (и ImageJ2) вместе с Java, Java3D и множеством надстроек, организованных в согласованную структуру меню. Fiji сравнивается с ImageJ, как Ubuntu сравнивается с Linux.
Помимо основных функций ImageJ, ниже описаны некоторые из расширенных функций Fiji:
Sr. No. | Характеристика и описание |
---|---|
1 |
Registering 3D images Это включает в себя эластичное выравнивание и монтаж, извлечение функций, стабилизатор изображения и т. Д. |
2 |
Segmenting images Предлагает более 35 видов сегментации. |
3 |
Useful keyboard short cuts У Fuji много сочетаний клавиш. |
4 |
Scripting Разрешить создание сценариев с макросами в JavaScript, JRuby, Jython, Clojure и Beanshell. |
5 |
Developing Plug-ins Используйте редактор сценариев, чтобы начать разработку подключаемых модулей, а затем запускайте их. |
6 |
ImageJ Tricks ImageJ прост в использовании, но иногда вам нужна какая-то функция, которая действительно реализована, но вы не знаете, как запускать. |
Commons Imaging
Apache Commons Imaging, ранее известная как Apache Commons Sanselan, представляет собой библиотеку, которая считывает и записывает различные форматы изображений, включая быстрый анализ такой информации об изображениях, как (размер, цвет, пространство, профиль ICC и т. Д.) И метаданные.
Некоторые из основных функций ImageJ описаны ниже -
Sr. No. | Характеристика и описание |
---|---|
1 |
Java Apache Commons Imaging написан на 100% чистой Java. Он выполняется на любой JVM и любой платформе без изменений. |
2 |
Image Formats Он считывает и записывает самые разные форматы изображений и поддерживает некоторые варианты и кодировки, отсутствующие во всех или большинстве других библиотек. |
3 |
Metadata support Он поддерживает чтение и запись различных метаданных в структурированном виде, включая метаданные EXIF. |
4 |
Network Friendly Это дружественный к сети. Commons Imaging считывает только те данные, которые ему нужны, и кэширует прочитанные, чтобы они не были слишком загружены в сети. |
5 |
Easy to use Он разработан, чтобы быть очень простым в использовании. У него простой и понятный интерфейс. Большинство операций представляют собой вызовы одного метода обработки изображений. |
6 |
Transparent Commons Imaging стремится быть прозрачным. Нет скрытых буферов для удаления, нет собственной памяти для освобождения, нет фоновых потоков. |
7 |
Open Source Это бесплатное программное обеспечение с открытым исходным кодом. Он доступен по лицензии на программное обеспечение Apache. |
8 |
Color Conversions Класс ColorConversions предлагает методы для преобразования между следующими цветовыми пространствами - CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ и YXY. |
ImageMagick
ImageMagick - это программный пакет для создания, редактирования, компоновки или преобразования растровых изображений. Он может читать и записывать изображения в более чем 100 форматах, включая DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG и TIFF. Используйте ImageMagick для изменения размера, зеркального отражения, поворота, искажения, сдвига и преобразования изображений, настройки цвета изображения, применения различных специальных эффектов или рисования текста, линий, многоугольников, эллипсов и кривой Безье.
Некоторые из основных функций ImageMagick описаны ниже -
Sr. No. | Характеристика и описание |
---|---|
1 |
Format conversion Он преобразует изображение из одного формата в другой (например, PNG в JPEG). |
2 |
Transform Он может изменять размер, вращать, обрезать, переворачивать или обрезать изображение. |
3 |
Transparency Он делает части изображения невидимыми. |
4 |
Draw Он добавляет фигуры или текст к изображению. |
5 |
Decorate Он добавляет к изображению границу или рамку. |
6 |
Special effects Он может размывать, повышать резкость, порог или оттенять изображение. |
7 |
Animation Он может создавать последовательность анимации GIF из группы изображений. |
8 |
Composite Он может накладывать одно изображение на другое. |
9 |
Morphology of shapes Он извлекает особенности, описывает формы и распознает узоры на изображениях. |
10 |
Encipher or decipher an image Преобразует обычные изображения в невнятную тарабарщину и обратно. |
Ендров
Endrov - это универсальная программа для анализа изображений. Он написан независимо и предназначен для устранения многих недостатков других бесплатных программ и многих коммерческих пакетов.
Некоторые из основных функций Endrov описаны ниже -
Sr. No. | Характеристика и описание |
---|---|
1 |
View data Он просматривает данные в 2D и 3D. Разработан для обработки сложных 4-мерных схем данных и неограниченного количества каналов, где каждый канал может иметь собственное разрешение X, Y и Z. |
2 |
Annotate your images Он автоматически или вручную аннотирует ваши изображения, чтобы понимать их и получать статистику. |
3 |
Undo and Redo Он может отменять и повторять все операции. |
4 |
Lazy Evaluation Он разработан с нуля для обработки больших наборов изображений. Эндров использует ленивое вычисление - концепцию, в основном доступную в исследовательских языках программирования. |
5 |
Scripting language Он поддерживает графический язык сценариев, а также традиционные сценарии. |
6 |
Java Написано на Java. Архитектура подключаемых модулей позволяет легко расширять новые подключаемые модули Java. Он может взаимодействовать с Matlab. |
7 |
Formats Он имеет доступ практически ко всем коммерческим и открытым форматам файлов с использованием биоформатов. |
8 |
Microscopic Processing Он может управлять всеми вашими микроскопами с помощью одной программы и выполнять анализ изображений на лету. |
LEADTOOLS
LEADTOOLS предоставляет более 200 функций обработки изображений в нескольких категориях, включая очистку документов, улучшение медицинских изображений, преобразование и коррекцию цвета, уменьшение шума, обнаружение краев и многое другое.
Некоторые из основных функций LEADTOOLS описаны ниже -
Sr. No. | Характеристика и описание |
---|---|
1 |
Scanned Document Image Processing Этот мощный набор функций может считывать отсканированные документы на предмет артефактов и дефектов, таких как пробитые отверстия, скошенные углы, границы, пылинки и т. Д. |
2 |
Medical Image Processing Улучшите изображение или выделите детали, сдвигая, выбирая, вычитая и удаляя фон для улучшения визуальных эффектов. |
3 |
Geometric Transformation Эти функции можно использовать для очистки, выравнивания, исправления изображений или применения художественных 3D-эффектов. |
4 |
Brightness and Contrast Эти функции можно использовать для улучшения изображений, применения художественных эффектов или помощи в диагностической оценке медицинских изображений. |
5 |
Color Space Conversion Они могут добавлять функциональные возможности цветового пространства изображения в однопоточные и многопоточные приложения, включая приложения, размещенные в IIS и Windows WF. |
6 |
Color Correction Эти функции используются для исправления изображений с поменяемыми местами цветовых каналов, балансировки интенсивности цвета или выполнения различных задач анализа изображения. |
7 |
Image Enhancement Эти функции используются для исправления типичных ошибок в фотографии, таких как «красные глаза» и несбалансированные цвета, а также для помощи в диагностической оценке медицинских изображений. |
8 |
Region of Interest Эти функции используются для создания и изменения интересующих областей в изображениях для выполнения функций обработки изображений на определенных участках изображения, экономии времени на штрих-код и распознавания OCR или выполнения различных задач анализа изображений. |
OpenCV
OpenCV выпускается под лицензией BSD и, следовательно, бесплатен как для академического, так и для коммерческого использования. Он имеет интерфейсы C ++, C, Python и Java и поддерживает Windows, Linux, Mac OS, iOS и Android. OpenCV был разработан для вычислительной эффективности и с упором на приложения реального времени. Написанная на оптимизированном C / C ++, библиотека может использовать преимущества многоядерной обработки.
Кратко описаны некоторые основные функции OpenCV -
Sr. No. | Характеристика и описание |
---|---|
1 |
Smoothing Images Это включает в себя применение Blur, GaussianBlur, medianBlur и двустороннего фильтра. |
2 |
Eroding and Dilating Он может применять два очень распространенных оператора морфологии - Расширение и Эрозия. |
3 |
Morphology Transformations Функция OpenCV morphologyEx для применения морфологического преобразования, такого как открытие, закрытие, TopHat, BlackHat и т. Д. |
4 |
Image Pyramids OpenCV выполняет функции pyrUp и pyrDown, чтобы уменьшить или увеличить выборку данного изображения. |
4 |
Basic Thresholding Operations Выполните базовые операции определения порога, используя порог функции OpenCV. |
5 |
Adding borders to your images Функция OpenCV copyMakeBorder используется для установки границ (дополнительных отступов к вашему изображению). |
7 |
Remapping В OpenCV функция переназначения предлагает простую реализацию переназначения. |
8 |
Histogram Calculation Для простых целей OpenCV реализует функцию calcHist, которая вычисляет гистограмму набора массивов (обычно изображений или плоскостей изображений). Он может работать до 32 размеров. |