medfilt2

2-D медианную фильтрацию

Описание

пример

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

J = medfilt2(I,[m n]) выполняет медианную фильтрацию, где каждый выходной пиксель содержит медианное значение в m-by- n окрестности вокруг соответствующего пикселя в вход изображении.

J = medfilt2(___,padopt) управляет тем, как medfilt2 заполняет контуры изображения.

Примеры

свернуть все

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

I = imread('eight.tif');
figure, imshow(I)

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

Добавить соль и перец шум.

J = imnoise(I,'salt & pepper',0.02);

Используйте медианный фильтр, чтобы отфильтровать шум.

K = medfilt2(J);

Отображение результатов, один за другим.

imshowpair(J,K,'montage')

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

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

свернуть все

Входное изображение, заданное как 2-D полутоновое или бинарное изображение.

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

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

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

Опция заполнения, заданный как одно из следующих значений.

ЗначениеОписание
'zeros' (по умолчанию)Дополните изображение 0с.
'symmetric'Симметрично удлините изображение на контурах.
'indexed'Если класс I является double, затем дополните изображение 1с; в противном случае дополните 0с.

Типы данных: char | string

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

свернуть все

Выходное изображение, возвращенный как числовая матрица того же класса, что и входное изображение I.

Совет

  • Медианная фильтрация является нелинейной операцией, часто используемой в обработке изображений, чтобы уменьшить шум «соль и перец». Медианный фильтр эффективнее свертки, когда цель - одновременно уменьшить шум и сохранить ребра. Для получения информации о факторах эффективности см. ordfilt2.

  • Если вход изображение I является целым классом, затем все выходные значения возвращаются в виде целых чисел. Если количество пикселей в районе (m*n) даже, тогда некоторые медианные значения могут не быть целыми числами. В этих случаях дробные части отбрасываются. Логический вход обрабатывается аналогично. Для примера, истинная медиана для следующего района 2 на 2 в uint8 массив 4,5, но medfilt2 отбрасывает дробную часть и возвращает 4.

    1 5
    4 8
  • Если вы задаете padopt как 'zeros' или 'indexed'затем заполнение может наклонить медиану около контура изображения. Пиксели в пределах половины ширины окрестности ([m n]/2) ребер может показаться искаженным.

Алгоритмы

На центральном процессоре, medfilt2 использование ordfilt2 для выполнения фильтрации.

Ссылки

[1] Lim, Jae S., Двумерная обработка сигналов и изображений, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 469-476.

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

..

См. также

| | |

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