medfilt3

3-D медианная фильтрация

Описание

пример

B = medfilt3(A) фильтрует 3-D изображение A с 3 3х3 фильтром. По умолчанию, medfilt3 заполняет изображение путем тиражирования значений зеркальным способом на границах.

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

B = medfilt3(___,padopt) средства управления, как medfilt3 заполняет границы массива.

Примеры

свернуть все

Создайте шумную 3-D поверхность.

[x,y,z,V] = flow(50);
noisyV = V + 0.1*double(rand(size(V))>0.95) - 0.1*double(rand(size(V))<0.05);

Примените медианную фильтрацию.

filteredV = medfilt3(noisyV);

Отобразите шумные и отфильтрованные поверхности вместе.

subplot(1,2,1)
hpatch1 = patch(isosurface(x,y,z,noisyV,0));
isonormals(x,y,z,noisyV,hpatch1)
set(hpatch1,'FaceColor','red','EdgeColor','none')
daspect([1,4,4])
view([-65,20]) 
axis tight off
camlight left
lighting phong

subplot(1,2,2)
hpatch2 = patch(isosurface(x,y,z,filteredV,0));
isonormals(x,y,z,filteredV,hpatch2)
set(hpatch2,'FaceColor','red','EdgeColor','none')
daspect([1,4,4])
view([-65,20])
axis tight off
camlight left 
lighting phong

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

свернуть все

Введите изображение в виде 3-D числового или логического массива.

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

Размер окружения в виде вектора с 3 элементами из положительных нечетных целых чисел.

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

Дополнение опции в виде одного из следующих значений:

ЗначениеОписание
'symmetric'Заполните массив зеркальными отражениями себя
'replicate'Заполните массив путем повторения элементов границы
'zeros'Заполните массив 0s

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

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

свернуть все

Выходное изображение, возвращенное как 3-D числовой массив того же класса и размера как входное изображение A.

Смотрите также

Введенный в R2017b