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

26 ビュー (過去 30 日間)
Matthew Worker
Matthew Worker 2021 年 10 月 4 日
回答済み: yanqi liu 2021 年 12 月 11 日
I want the same result, but without using medfilt2
x=imread('sadimg.bmp');
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
clc;
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]);
figure;
subplot(2,2,1); imshow(im);
subplot(2,2,2); imshow(im2);
subplot(2,2,3); imshow(im3);
subplot(2,2,4); imshow(im);

Community Treasure Hunt

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

Start Hunting!

Translated by