В Matlab я добавляю шум к изображению с известной дисперсией.Я знаю, что могу сделать это с помощью следующего:
var = 0.01;
i = im2double(imread('lena.bmp'));
i_n = imnoise(i, 'gaussian',0,var);
Очевидно, что получающееся изображение имеет шум.Однако, если я попытаюсь оценить дисперсию шума путем вычисления медианы фильтра верхних частот, я действительно не вижу никакой корреляции
k = [1 4 6 4 1]'*[1 4 6 4 1];
kk = k ./sum(sum(k));
var_est = median(median(abs(i_n - imfilter(i_n,kk))))
var_est(:,:,1) =
0.0631
var_est(:,:,2) =
0.0620
var_est(:,:,3) =
0.0625
чтобы получить достаточно близкий результат, например, допустимая ошибка 50%.Что я делаю неправильно?