Как выполнить операцию сглаживания вейвлет-разложения в Matlab?

Меня попросили выполнить пороговое значение и сглаживание коэффициентов вейвлета в области вейвлета, чтобы улучшить шумоподавление изображения. Я могу выполнить пороговое значение, используя функцию Matlab wthcoef2, но я не вижу функции для сглаживания, которая согласуется с представлением Matlab коэффициентов вейвлета.

Ниже приведен код, который у меня есть прямо сейчас:

F = imread('lena_std.tif');             % Reads the image
F_gray = rgb2gray(F);                   % Converts from RGB to Gray scale

gausQ = input('Add White Gaussian Noise?: ','s');

if gausQ == 'Y'
    F_noisy = imnoise(F_reshape,'gaussian');
    F_wavelet = F_noisy;
else
    F_wavelet = F_gray;
end

%% 
% Asks user for the wavelet decomposition level and the type of wavelet to 
% use.
J = input('Choose the wavelet decomposition level: ');
wavelet = input('Choose the wavelet name: ','s');

[C,S] = wavedec2(F_wavelet,J,wavelet);  % Multi-level wavelet decomposition

%%% Thresholding done by C = wthcoef2(C,S,N,T,SORH); %%%

Моя основная проблема заключается в том, что вейвлет-коэффициенты хранятся в векторе C, который представляет собой 1 строку с любым количеством столбцов, и это представление не позволяет применять операторы сглаживания (по крайней мере, не так, как я понимаю).

Я подумал о попытке изменить вектор вейвлет-коэффициентов, но не знал, как правильно включить в него бухгалтерскую матрицу S.

Если у кого-то есть какие-либо представления по этому вопросу, пожалуйста, ответьте соответствующим образом. Если мне нужно добавить больше деталей к этому вопросу, пожалуйста, дайте мне знать. Спасибо за вашу помощь!


person T W    schedule 22.07.2014    source источник
comment
под бухгалтерской матрицей вы имеете в виду HAAR DWT/DFT?   -  person FlavorScape    schedule 22.07.2014
comment
о, неважно. mathworks.com/help/wavelet/ref/wavedec2.html   -  person FlavorScape    schedule 22.07.2014
comment
Я просматривал библиотеки Matlab и не вижу способа изолировать коэффициенты на всех уровнях и интегрировать их обратно в матрицу разложения. Я предполагаю, что функция должна быть написана, чтобы сделать это.   -  person T W    schedule 23.07.2014
comment
Вы смотрели на какие-либо решения OpenCV? может дать вам идеи. docs.opencv.org/modules/imgproc/doc/filtering.html   -  person FlavorScape    schedule 23.07.2014
comment
Спасибо, я проверю.   -  person T W    schedule 23.07.2014


Ответы (1)


Я не уверен, откуда вы взяли идею фильтрации нижних частот в области вейвлета. Это определенно новинка, но это может быть не то, что вы хотите.

Возможно, более прямое двухмерное быстрое вейвлет-преобразование даст вам лучшее представление о том, какие коэффициенты идут/исходят из каких позиций изображения:

http://uk.mathworks.com/help/wavelet/ug/two-diversity-discrete-wavelet-analysis.html

person alle_meije    schedule 12.10.2015