exponenta event banner

nlfilter

Общие операции по скользящему соседству

Описание

пример

B = nlfilter(A,[m n],fun) применяет функцию fun каждому mоколо-n скользящий блок изображения в градациях серого A.

B = nlfilter(A,'indexed',___) процессы A в качестве индексированного изображения, заполнение 0s, если класс A является uint8, uint16, или logicalи заполнение 1s в противном случае.

Примечание

nlfilter обработка больших изображений может занять много времени. В некоторых случаях colfilt функция может выполнять одну и ту же операцию намного быстрее.

Примеры

свернуть все

В этом примере показано, как применить медианный фильтр к изображению с помощью nlfilter. Этот пример приводит к тому же результату, что и вызов medfilt2 с соседством 3 на 3.

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

A = imread('cameraman.tif'); 

Преобразовать изображение в double.

A = im2double(A);

Создайте функцию, которую необходимо применить к изображению - медианный фильтр.

fun = @(x) median(x(:));

Примените фильтр к изображению.

B = nlfilter(A,[3 3],fun); 

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

montage({A,B})
title('Original Image (Left) and Median Filtered Image (Right)')

Figure contains an axes. The axes with title Original Image (Left) and Median Filtered Image (Right) contains an object of type image.

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

свернуть все

Фильтруемое изображение, указанное как числовой массив любого класса, поддерживаемого fun. Когда A является оттенком серого, он может быть любого числового типа или logical. Когда A индексируется, может быть logical, uint8, uint16, single, или double.

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

Размер блока, заданный как 2-элементный вектор положительных целых чисел. m - количество строк и n - количество столбцов в блоке.

Пример: B = nlfilter(A,[3 3],fun);

Типы данных: single | double | logical

Дескриптор функции указан как дескриптор. Функция должна принимать mоколо-n matrix в качестве входного значения и возвращает скалярный результат.

c = fun(x)

c - выходное значение для центрального пикселя в mоколо-n блок x. nlfilter требования fun для каждого пикселя в A. nlfilter нулевые подушки mоколо-n блок по краям, если необходимо.

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

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

свернуть все

Отфильтрованное изображение, возвращенное в виде числового массива. Класс B зависит от класса вывода fun.

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