adaptthresh

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

Описание

пример

T = adaptthresh(I) вычисляет локально адаптивный порог для 2-D полутонового изображения или 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.

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

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.

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

свернуть все

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

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

Типы данных: 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] Bradley, D., G. Roth, «Adapting Thresholding Using the Integral Image», Journal of Graphics Tools. Том 12, № 2, 2007, стр. 13-21.

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

.

См. также

| |

Введенный в R2016a