Документация по ImageBinarization.jl
Пакет Julia, содержащий ряд алгоритмов для анализа изображений и их автоматической бинаризации в задний и передний планы.
Начало работы
Этот пакет является частью более широкой экосистемы обработки изображений на основе 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

Это означает «настройка гистограммы (binarize
) изображения img
с использованием алгоритма alg
»
Более сложные примеры использования приведены на странице Справочник по функциям.
Примеры использования пакета ImageBinarization
![]() Original image | ||
![]() Intermodes |
![]() Minimum Error |
![]() Minimum |
![]() Moments |
![]() Otsu |
![]() Polysegment |
![]() Rosin |
![]() Sauvola |
![]() Niblack |
![]() Adaptive |
![]() Yen |
![]() Balanced |
![]() Original image | ||
![]() Intermodes |
![]() Minimum Error |
![]() Minimum |
![]() Moments |
![]() Otsu |
![]() Polysegment |
![]() Rosin |
![]() Sauvola |
![]() Niblack |
![]() Adaptive |
![]() Yen |
![]() Balanced |
![]() Original image | ||
![]() Intermodes |
![]() Minimum Error |
![]() Minimum |
![]() Moments |
![]() Otsu |
![]() Polysegment |
![]() Rosin |
![]() Sauvola |
![]() Niblack |
![]() Adaptive |
![]() Yen |
![]() Balanced |