stdfilt

Локальное стандартное отклонение изображения

Синтаксис

J = stdfilt(I)
J = stdfilt(I,nhood)

Описание

пример

J = stdfilt(I) выполняет фильтрацию стандартного отклонения изображения I и возвращает отфильтрованное изображение J. Значение каждого выходного пикселя является стандартным отклонением 3х3 окружения вокруг соответствующего входного пикселя. Для пикселей на границах I stdfilt использует симметричное дополнение. В симметричном дополнении значения дополнения пикселей являются зеркальным отражением краевых элементов изображения в I.

Опционально можно выполнить операцию с помощью графического процессора (требует Parallel Computing Toolbox™). Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.

J = stdfilt(I,nhood) указывает, что окружение, nhood, раньше вычисляло стандартное отклонение.

Примеры

свернуть все

Этот пример показывает, как выполнить фильтрацию стандартного отклонения с помощью stdfilt. Более яркие пиксели в отфильтрованном изображении соответствуют окружениям в оригинальном изображении с большими стандартными отклонениями.

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

I = imread('circuit.tif');

Выполните фильтрацию стандартного отклонения с помощью stdfilt.

J = stdfilt(I);

Покажите оригинальное изображение и обработанное изображение.

imshow(I)
title('Original Image')

figure
imshow(J,[])
title('Result of Standard Deviation Filtering')

Считайте изображения в gpuArray.

I = gpuArray(imread('circuit.tif'));

Выполните фильтрацию стандартного отклонения с помощью stdfilt.

J = stdfilt(I);

Покажите оригинальное изображение и обработанное изображение.

imshow(I)
title('Original Image')
figure
imshow(J,[])
title('Result of Standard Deviation Filtering')

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

свернуть все

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

Чтобы выполнить операцию с помощью графического процессора, задайте I как gpuArray, который содержит числовой или логический массив.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Окружение, заданное как многомерный, логический, или числовой массив, содержащий нули и единицы. Размер nhood должен быть нечетным в каждой размерности.

По умолчанию stdfilt использует окружение true(3). stdfilt определяет центральный элемент окружения floor((size(nhood) + 1)/2).

Чтобы задать окружения различных форм, такие как диск, используют функцию strel, чтобы создать объект элемента структурирования желаемой формы. Затем извлеките окружение из свойства neighborhood элемента структурирования.

Примечание

При выполнении этой функции на графическом процессоре окружение должно быть 2D.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

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

свернуть все

Фильтрованное изображение, возвращенное как числовой массив, одного размера как входное изображение I. Классом J является double.

Если отфильтрованное изображение вычисляется с помощью графического процессора, то J возвращен как gpuArray, содержащий числовой массив того же класса как в I.

Алгоритмы

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

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

Представлено до R2006a