nlfilter

Общие операции скользящего окружения

Описание

пример

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

B = nlfilter(A,'indexed',___) процессы A как индексируемое изображение, дополняющее 0s, если класс A uint8uint16, или 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 object. The axes object with title Original Image (Left) and Median Filtered Image (Right) contains an object of type image.

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

свернуть все

Отобразите, чтобы быть отфильтрованными в виде числового массива любого класса, поддержанного fun. Когда A шкала полутонов, это может быть любой числовой тип или logical. Когда A индексируется, это может быть logicaluint8uint16единственный, или 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 матрица, как введено и возвращает скалярный результат.

c = fun(x)

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

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

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

свернуть все

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

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