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 размеров.