Я использую средний геометрический фильтр для удаления шума вместо медианного фильтра, поскольку в первом случае качество изображения ухудшается. приведенный ниже код является частью m-файла для удаления шума.
fname = getappdata(0, 'fname');
[a, map] = imread(fname);
x = ind2rgb(a, map);
b = im2double(x);
w=fspecial('gaussian',[3,3]);
geom=exp(imfilter(log(b),ones(3,3),'replicate')).^(1/3/3);
fname=imfilter(b,w,'replicate');
axes(handles.axes1);
imshow(fname);
Если я нажму кнопку с названием «Удалить шум», приведенный выше код будет выполнен независимо от качества / свойства изображения. В том смысле, что даже при отсутствии шума изображение будет подвергнуто фильтрации.
Мой вопрос, есть ли способ определить, присутствует ли шум или нет, чтобы в тот момент, когда я нажал кнопку, если на изображении нет шума, он должен автоматически отображать сообщение с надписью «НЕТ ШУМА ДЛЯ УДАЛЕНИЯ».