adaptthresh

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

Описание

пример

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')

Figure contains an axes. The axes contains an object of type image.

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

I = imread('printedtext.png');

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

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

Figure contains an axes. The axes contains an object of type image.

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

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

Figure contains an axes. The axes contains an object of type image.

Загрузите 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

Figure contains an axes. The axes contains 3 objects of type surface.

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

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

Figure contains an axes. The axes contains 3 objects of type surface.

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

свернуть все

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

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

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

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

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

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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