Учебники

Java DIP — библиотеки с открытым исходным кодом

В этой главе мы рассмотрим некоторые из бесплатных библиотек обработки изображений, которые широко используются и могут быть легко интегрированы в проект. Эти библиотеки включают в себя —

  • ImageJ
  • Фиджи
  • Commons Imaging
  • ImageMagick
  • Endrov
  • LeadTools
  • OpenCV

ImageJ

ImageJ — это общедоступная программа обработки изображений Java, созданная по мотивам NIH Image для Macintosh. Он может отображать, редактировать, анализировать, обрабатывать, сохранять и печатать 8-битные, 16-битные и 32-битные изображения.

Некоторые из основных функций ImageJ описаны ниже —

Sr.No. Характеристика и описание
1

Работает везде

ImageJ написан на Java, что позволяет ему работать в Linux, Mac OS X и Windows, как в 32-битном, так и в 64-битном режимах.

2

Открытый исходный код

ImageJ и его исходный код Java находятся в свободном доступе и в свободном доступе.

3

Инструментарий

Используйте ImageJ в качестве инструментария обработки изображений (библиотеки классов) для разработки апплетов, сервлетов или приложений.

4

Типы данных

8-разрядный оттенки серого или индексированный цвет, 16-разрядное целое число без знака, 32-разрядное число с плавающей точкой и цвет RGB.

5

Форматы файлов

Откройте и сохраните GIF, JPEG, BMP, PNG, PGM, FITS и ASCII. Откройте DICOM. Открывайте TIFF, GIF, JPEG, DICOM и необработанные данные, используя URL.

6

Выбор

Создайте прямоугольные, эллиптические или неправильные выделения области. Создайте выбор линий и точек.

7

Улучшение изображения

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

8

Обработка цвета

Разделите 32-битное цветное изображение на компоненты RGB или HSV. Слияние 8-битных компонентов в цветное изображение.

Работает везде

ImageJ написан на Java, что позволяет ему работать в Linux, Mac OS X и Windows, как в 32-битном, так и в 64-битном режимах.

Открытый исходный код

ImageJ и его исходный код Java находятся в свободном доступе и в свободном доступе.

Инструментарий

Используйте ImageJ в качестве инструментария обработки изображений (библиотеки классов) для разработки апплетов, сервлетов или приложений.

Типы данных

8-разрядный оттенки серого или индексированный цвет, 16-разрядное целое число без знака, 32-разрядное число с плавающей точкой и цвет RGB.

Форматы файлов

Откройте и сохраните GIF, JPEG, BMP, PNG, PGM, FITS и ASCII. Откройте DICOM. Открывайте TIFF, GIF, JPEG, DICOM и необработанные данные, используя URL.

Выбор

Создайте прямоугольные, эллиптические или неправильные выделения области. Создайте выбор линий и точек.

Улучшение изображения

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

Обработка цвета

Разделите 32-битное цветное изображение на компоненты RGB или HSV. Слияние 8-битных компонентов в цветное изображение.

Фиджи

Фиджи — это пакет для обработки изображений. Это можно описать как распределение ImageJ (и ImageJ2) вместе с Java, Java3D и множеством плагинов, организованных в единую структуру меню. Фиджи сравнивает с ImageJ, как Ubuntu сравнивает с Linux.

Помимо основных функций ImageJ, некоторые из расширенных функций Фиджи описаны ниже —

Sr.No. Характеристика и описание
1

Регистрация 3D-изображений

Это включает в себя эластичное выравнивание и монтаж, извлечение элементов, стабилизатор изображения и т. Д.

2

Сегментирование изображений

Предлагает более 35 видов сегментации.

3

Полезные сочетания клавиш

У Фуджи много сочетаний клавиш.

4

Scripting

Разрешить создание сценариев с помощью макросов в JavaScript, JRuby, Jython, Clojure и Beanshell.

5

Разработка плагинов

Используйте Script Editor, чтобы начать разработку плагинов, а затем запустите плагины.

6

Трюки ImageJ

ImageJ прост в использовании, но иногда вы хотите какую-то функцию, которая на самом деле реализована, но вы не знаете, как запустить.

Регистрация 3D-изображений

Это включает в себя эластичное выравнивание и монтаж, извлечение элементов, стабилизатор изображения и т. Д.

Сегментирование изображений

Предлагает более 35 видов сегментации.

Полезные сочетания клавиш

У Фуджи много сочетаний клавиш.

Scripting

Разрешить создание сценариев с помощью макросов в JavaScript, JRuby, Jython, Clojure и Beanshell.

Разработка плагинов

Используйте Script Editor, чтобы начать разработку плагинов, а затем запустите плагины.

Трюки ImageJ

ImageJ прост в использовании, но иногда вы хотите какую-то функцию, которая на самом деле реализована, но вы не знаете, как запустить.

Commons Imaging

Apache Commons Imaging, ранее известная как Apache Commons Sanselan, — это библиотека, которая считывает и записывает различные форматы изображений, включая быстрый анализ информации об изображении, такой как (размер, цвет, пространство, профиль ICC и т. Д.) И метаданных.

Некоторые из основных функций ImageJ описаны ниже —

Sr.No. Характеристика и описание
1

Джава

Apache Commons Imaging написан на 100% чистой Java. Он выполняется на любой JVM и любой платформе без изменений.

2

Форматы изображений

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

3

Поддержка метаданных

Он поддерживает чтение и запись различных метаданных в структурированном виде, включая метаданные EXIF.

4

Сеть дружественная

Это для сети. Commons Imaging считывает только те данные, которые ему нужны, и кэширует то, что читается, чтобы оно не было слишком загруженным в сети.

5

Легко использовать

Он разработан, чтобы быть очень простым в использовании. У него простой, чистый интерфейс. Большинство операций — это вызовы одного метода обработки изображений.

6

прозрачный

Commons Imaging стремится быть прозрачным. Здесь нет скрытых буферов для удаления, нет свободной памяти, нет фоновых потоков.

7

Открытый исходный код

Это свободное программное обеспечение / с открытым исходным кодом. Он доступен под лицензией Apache Software License.

8

Преобразования цветов

Класс ColorConversions предлагает методы для преобразования между следующими цветовыми пространствами — CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ и YXY.

Джава

Apache Commons Imaging написан на 100% чистой Java. Он выполняется на любой JVM и любой платформе без изменений.

Форматы изображений

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

Поддержка метаданных

Он поддерживает чтение и запись различных метаданных в структурированном виде, включая метаданные EXIF.

Сеть дружественная

Это для сети. Commons Imaging считывает только те данные, которые ему нужны, и кэширует то, что читается, чтобы оно не было слишком загруженным в сети.

Легко использовать

Он разработан, чтобы быть очень простым в использовании. У него простой, чистый интерфейс. Большинство операций — это вызовы одного метода обработки изображений.

прозрачный

Commons Imaging стремится быть прозрачным. Здесь нет скрытых буферов для удаления, нет свободной памяти, нет фоновых потоков.

Открытый исходный код

Это свободное программное обеспечение / с открытым исходным кодом. Он доступен под лицензией Apache Software License.

Преобразования цветов

Класс 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

Преобразование формата

Он преобразует изображение из одного формата в другой (например, PNG в JPEG).

2

преобразование

Он может изменить размер, повернуть, обрезать, перевернуть или обрезать изображение.

3

прозрачность

Это делает части изображения невидимыми.

4

Рисовать

Это добавляет формы или текст к изображению.

5

декорировать

Это добавляет границу или рамку к изображению.

6

Спецэффекты

Это может размыть, резкость, порог или тонировать изображение.

7

Анимация

Он может создать анимационную последовательность GIF из группы изображений.

8

композитный

Это может перекрывать одно изображение над другим.

9

Морфология форм

Он извлекает особенности, описывает формы и распознает узоры на изображениях.

10

Зашифровать или расшифровать изображение

Он преобразует обычные изображения в непонятную тарабарщину и обратно.

Преобразование формата

Он преобразует изображение из одного формата в другой (например, PNG в JPEG).

преобразование

Он может изменить размер, повернуть, обрезать, перевернуть или обрезать изображение.

прозрачность

Это делает части изображения невидимыми.

Рисовать

Это добавляет формы или текст к изображению.

декорировать

Это добавляет границу или рамку к изображению.

Спецэффекты

Это может размыть, резкость, порог или тонировать изображение.

Анимация

Он может создать анимационную последовательность GIF из группы изображений.

композитный

Это может перекрывать одно изображение над другим.

Морфология форм

Он извлекает особенности, описывает формы и распознает узоры на изображениях.

Зашифровать или расшифровать изображение

Он преобразует обычные изображения в непонятную тарабарщину и обратно.

Endrov

Endrov — это многоцелевая программа для анализа изображений. Он написан независимо и предназначен для устранения многих недостатков других бесплатных программ и многих коммерческих пакетов.

Некоторые из основных особенностей Endrov описаны ниже —

Sr.No. Характеристика и описание
1

Просмотр данных

Он просматривает данные, в 2D и 3D. Предназначен для обработки сложных 4D-схем передачи данных и неограниченного количества каналов, где каждый канал может иметь свое собственное разрешение X, Y и Z.

2

Аннотируйте свои изображения

Он аннотирует ваши изображения, автоматически или вручную, чтобы понять их и получить статистику.

3

Отменить и повторить

Это может отменить и повторить для всех операций.

4

Ленивая оценка

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

5

Язык сценариев

Он поддерживает графический язык сценариев, а также традиционные сценарии.

6

Джава

Написано на Java. Архитектура плагинов позволяет легко расширять с помощью новых плагинов Java. Может взаимодействовать с Matlab.

7

Форматы

Он получает доступ почти ко всем коммерческим и открытым форматам файлов, используя Bio-форматы.

8

Микроскопическая обработка

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

Просмотр данных

Он просматривает данные, в 2D и 3D. Предназначен для обработки сложных 4D-схем передачи данных и неограниченного количества каналов, где каждый канал может иметь свое собственное разрешение X, Y и Z.

Аннотируйте свои изображения

Он аннотирует ваши изображения, автоматически или вручную, чтобы понять их и получить статистику.

Отменить и повторить

Это может отменить и повторить для всех операций.

Ленивая оценка

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

Язык сценариев

Он поддерживает графический язык сценариев, а также традиционные сценарии.

Джава

Написано на Java. Архитектура плагинов позволяет легко расширять с помощью новых плагинов Java. Может взаимодействовать с Matlab.

Форматы

Он получает доступ почти ко всем коммерческим и открытым форматам файлов, используя Bio-форматы.

Микроскопическая обработка

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

LEADTOOLS

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

Некоторые из основных функций LEADTOOLS описаны ниже —

Sr.No. Характеристика и описание
1

Обработка изображения отсканированного документа

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

2

Обработка медицинских изображений

Улучшите изображение или выделите детали, сдвигая, выбирая, вычитая и удаляя фон для лучшей визуализации.

3

Геометрическая трансформация

Эти функции можно использовать для очистки, выравнивания, исправления изображений или применения художественных 3D-эффектов.

4

Яркость и контрастность

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

5

Преобразование цветового пространства

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

6

Коррекция цвета

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

7

Улучшение изображения

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

8

Область интересов

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

Обработка изображения отсканированного документа

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

Обработка медицинских изображений

Улучшите изображение или выделите детали, сдвигая, выбирая, вычитая и удаляя фон для лучшей визуализации.

Геометрическая трансформация

Эти функции можно использовать для очистки, выравнивания, исправления изображений или применения художественных 3D-эффектов.

Яркость и контрастность

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

Преобразование цветового пространства

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

Коррекция цвета

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

Улучшение изображения

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

Область интересов

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

OpenCV

OpenCV выпущен под лицензией BSD и, следовательно, он бесплатен для академического и коммерческого использования. Он имеет интерфейсы C ++, C, Python и Java и поддерживает Windows, Linux, Mac OS, iOS и Android. OpenCV был разработан для вычислительной эффективности и с сильным акцентом на приложениях реального времени. Написанная на оптимизированном C / C ++, библиотека может использовать преимущества многоядерной обработки.

Некоторые основные функции OpenCV описаны кратко —

Сглаживание изображений

Это включает применение Blur, GaussianBlur, medianBlur и двустороннего фильтра.

Размывание и расширение

Он может применять два очень распространенных оператора морфологии — Дилатация и Эрозия.

Морфология Преобразования

Функция OpenCV morphologyEx для применения морфологических преобразований, таких как открытие, закрытие, TopHat, BlackHat и т. Д.

Изображение Пирамиды

OpenCV работает с функциями pyrUp и pyrDown, чтобы уменьшить или увеличить выборку данного изображения.

Основные операции с порогом

Выполните основные операции порогового значения, используя порог функции OpenCV.

Добавление границ к вашим изображениям

Функция OpenCV copyMakeBorder используется для установки границ (дополнительное заполнение вашего изображения).

Переназначение

В OpenCV функция remap предлагает простую реализацию переназначения.

Расчет гистограммы

Для простых целей в OpenCV реализована функция calcHist, которая вычисляет гистограмму набора массивов (обычно изображений или плоскостей изображений). Он может работать с 32 размерами.