adaptthresh

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

Синтаксис

T = adaptthresh(I)
T = adaptthresh(I,sensitivity)
T = adaptthresh(___,Name,Value)

Описание

пример

T = adaptthresh(I) вычисляет локально адаптивный порог для 2D полутонового изображения или 3-D полутонового объема I. Функция adaptthresh выбирает порог на основе локальной средней интенсивности (статистика первого порядка) в окружении каждого пикселя. Порог T может использоваться с функцией imbinarize, чтобы преобразовать полутоновое изображение в двухуровневое изображение.

пример

T = adaptthresh(I,sensitivity) вычисляет локально адаптивный порог с фактором чувствительности, заданным sensitivity. sensitivity является скаляром в области значений [0,1], который указывает на чувствительность к пороговой обработке больше пикселей как передний план.

пример

T = adaptthresh(___,Name,Value) вычисляет локально адаптивный порог с помощью пар "имя-значение", чтобы управлять аспектами пороговой обработки.

Примеры

свернуть все

Считайте изображение в рабочую область.

I = imread('rice.png');

Используйте adaptthresh, чтобы определить порог, чтобы использовать в операции бинаризации.

T = adaptthresh(I, 0.4);

Преобразуйте изображение в двухуровневое изображение, задав пороговое значение.

BW = imbinarize(I,T);

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

figure
imshowpair(I, BW, 'montage')

Считайте изображение в рабочую область.

I = imread('printedtext.png');

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

T = adaptthresh(I,0.4,'ForegroundPolarity','dark');
figure
imshow(T)

Изображение Binarize, использующее локально адаптивный порог

BW = imbinarize(I,T);
figure
imshow(BW)

Загрузите 3-D объем в рабочую область.

load mristack;
V = mristack;

Отобразите данные.

figure
slice(double(V),size(V,2)/2,size(V,1)/2,size(V,3)/2)
colormap gray
shading interp

Вычислите порог.

J = adaptthresh(V,'neigh',[3 3 3],'Fore','bright');

Отобразите порог.

figure
slice(double(J),size(J,2)/2,size(J,1)/2,size(J,3)/2)
colormap gray
shading interp

Входные параметры

свернуть все

Полутоновое изображение или объем, заданный как 2D числовой матричный или 3-D числовой массив.

Если изображение содержит Inf s или NaN s, поведение adaptthresh не определено. Распространение Inf s или NaN s не может быть локализовано к окружению вокруг пикселей NaN или Inf.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Определите, какие пиксели получают порог как приоритетные пиксели, заданные как номер в области значений [0, 1]. Высокие значения чувствительности приводят к пороговой обработке больше пикселей как передний план рискуя включением некоторых фоновых пикселей.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: T = adaptthresh(I,0.4,'ForegroundPolarity','dark');

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Определите, какие пиксели рассматриваются приоритетными пикселями, заданное использование одного из следующего:

Значение

Значение

'bright'

Передний план более ярок, чем фон.

'dark'

Передний план является более темным, чем фон

Типы данных: char | string

Статистическая величина раньше вычисляла локальный порог на уровне каждого пикселя, заданного как одно из следующего:

Значение

Значение

'mean'

Локальная средняя интенсивность в окружении. Этот метод также называется методом Брэдли [1].

'median'

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

'gaussian'

Гауссово взвешенное среднее в окружении.

Типы данных: char | string

Выходные аргументы

свернуть все

Нормированные значения интенсивности, возвращенные как числовой матричный или числовой массив, одного размера как входное изображение или объем, I. Значения нормированы к области значений [0, 1].

Типы данных: double

Ссылки

[1] Брэдли, D., Г. Рот, "Адаптируя Пороговую обработку Используя Интегральное Изображение", Журнал Графических Инструментов. Издание 12, № 2, 2007, pp.13-21.

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

Смотрите также

| |

Введенный в R2016a