Документация Engee

Документация по ImageBinarization.jl

Начало работы

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

В примерах использования в пакете ImageBinarization.jl предполагается, что у вас уже установлены некоторые основные пакеты. Примечательно, что в примерах предполагается, что вы можете загрузить и отобразить изображение. Загрузка изображения осуществляется с помощью пакета FileIO.jl, который использует QuartzImageIO.jl, если вы работаете в MacOS, и ImageMagick.jl в противном случае. В зависимости от конфигурации системы вы можете столкнуться с проблемами при установке пакетов загрузки изображений. В этом случае можно обратиться к руководству по устранению неполадок.

Для отображения изображений обычно используется пакет ImageView.jl. Альтернативой могут служить различные пакеты для построения графиков, включая Makie.jl. Доступен пакет ImageShow.jl, который упрощает отображение изображений в записных книжках Jupyter с помощью IJulia.jl. Наконец, с помощью пакета ImageInTerminal.jl вы можете предварительно просмотреть изображение в REPL. Однако этот пакет предполагает, что в терминале используется моноширинный шрифт, и, как правило, он не выводит адекватные результаты в среде Windows.

Еще один пакет, который используется для иллюстрации функциональности в ImageBinarization.jl, — это TestImages.jl, который служит репозиторием множества стандартных тестовых изображений для обработки изображений.

Базовое использование

Каждый алгоритм бинаризации в пакете ImageBinarization.jl представляет собой алгоритм AbstractImageBinarizationAlgorithm.

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

Рассмотрим простую демонстрацию:

using TestImages, ImageBinarization
img = testimage("cameraman")
alg = Otsu()
img₀₁ = binarize(img, alg)
93825
demo

Это означает «настройка гистограммы (binarize) изображения img с использованием алгоритма alg»

Более сложные примеры использования приведены на странице Справочник по функциям.

Примеры использования пакета ImageBinarization

 Image of cells:

Original image

Original image
Intermodes

Intermodes
Minimum Error

Minimum Error
Minimum

Minimum
Moments

Moments
Otsu

Otsu
Polysegment

Polysegment
Rosin

Rosin
Sauvola

Sauvola
Niblack

Niblack
Adaptive

Adaptive
Yen

Yen
Balanced

Balanced
Image of moon surface: (Unimodal)

Original image

Original image
Intermodes

Intermodes
Minimum Error

Minimum Error
Minimum

Minimum
Moments

Moments
Otsu

Otsu
Polysegment

Polysegment
Rosin

Rosin
Sauvola

Sauvola
Niblack

Niblack
Adaptive

Adaptive
Yen

Yen
Balanced

Balanced
Image of text:

Original image

Original image
Intermodes

Intermodes
Minimum Error

Minimum Error
Minimum

Minimum
Moments

Moments
Otsu

Otsu
Polysegment

Polysegment
Rosin

Rosin
Sauvola

Sauvola
Niblack

Niblack
Adaptive

Adaptive
yen

Yen
Balanced

Balanced