Is there an alternative to 5x5 median filter in MATLAB?

39 ビュー (過去 30 日間)
Matthew Worker
Matthew Worker 2021 年 10 月 4 日
回答済み: yanqi liu 2021 年 12 月 11 日
I want the same result, but without using medfilt2
y= medfilt2(x,[5 5])
  1 件のコメント
Rena Berman
Rena Berman 2021 年 12 月 8 日
(Answers Dev) Restored edit


回答 (2 件)

Image Analyst
Image Analyst 2021 年 10 月 4 日
編集済み: Image Analyst 2021 年 10 月 4 日

yanqi liu
yanqi liu 2021 年 12 月 11 日
if use self define function,may be use colfilt、nlfilter to get block process,such as
clear all;
close all;
im = imread('cameraman.tif');
im2 = imnoise(im, 'salt & pepper');
%fun = @(block_struct) median(block_struct(:));
%im3 = nlfilter(im2,[5 5],fun);
fun = @(block_struct) median(block_struct);
im3 = colfilt(im2,[5 5],'sliding',fun);
im4 = medfilt2(im2, [5 5]);
subplot(2,2,1); imshow(im);
subplot(2,2,2); imshow(im2);
subplot(2,2,3); imshow(im3);
subplot(2,2,4); imshow(im);


Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by