Пороги для вейвлета 2D использование стратегия Birgé-Massart
[THR,NKEEP] = wdcbm2(C,S,ALPHA,M)
wdcbm2(C,S,ALPHA)
wdcbm2(C,S,ALPHA,prod(S(1,:)))
[THR,NKEEP] = wdcbm2(C,S,ALPHA,M)
возвращает зависимые уровнем пороги THR
и количества коэффициентов, которые будут сохранены NKEEP
, для шумоподавления или сжатия. THR
получен, использовав содействующее правило выбора вейвлета на основе стратегии Birgé-Massart.
[C,S]
структура разложения вейвлета изображения, чтобы быть de-noised или сжатый, на уровне j = size(S,1)-2
.
ALPHA
и M
должны быть вещественные числа, больше, чем 1.
THR
матрица 3 j
; THR(:,i)
содержит зависимые пороги уровня в этих трех ориентациях: горизонталь, диагональ, и вертикальный, для уровня i.
NKEEP
вектор из длины j
; NKEEP(i)
содержит количество коэффициентов, которые будут сохранены на уровне i.
j, M
и ALPHA
задайте стратегию:
На уровне j
+1 (и более грубые уровни), все сохранено.
Для уровня i от 1 до j
, ni самые большие коэффициенты сохранены с ni = M
/ (j+2-i) ALPHA.
Обычно ALPHA
= 1.5 для сжатия и ALPHA
= 3 для шумоподавления.
Значение по умолчанию для M
M
= prod(S(1,:))
, длина самых грубых коэффициентов приближения, поскольку предыдущая формула ведет поскольку i = j+1 к nj+1 = M
= prod(S(1,:))
.
Рекомендуемые значения для M
от prod(S(1,:))
к 6*prod(S(1,:))
.
wdcbm2(C,S,ALPHA)
эквивалентно wdcbm2(C,S,ALPHA,prod(S(1,:)))
.
% Load original image. load detfingr; nbc = size(map,1); % Perform a wavelet decomposition of the image % at level 3 using sym4. wname = 'sym4'; lev = 3; [c,s] = wavedec2(X,lev,wname); % Use wdcbm2 for selecting level dependent thresholds % for image compression using the adviced parameters. alpha = 1.5; m = 2.7*prod(s(1,:)); [thr,nkeep] = wdcbm2(c,s,alpha,m) thr = 21.4814 46.8354 40.7907 21.4814 46.8354 40.7907 21.4814 46.8354 40.7907 nkeep = 624 961 1765 % Use wdencmp for compressing the image using the above % thresholds with hard thresholding. [xd,cxd,sxd,perf0,perfl2] = ... wdencmp('lvd',c,s,wname,lev,thr,'h'); % Plot original and compressed images. colormap(pink(nbc)); subplot(221), image(wcodemat(X,nbc)), title('Original image') subplot(222), image(wcodemat(xd,nbc)), title('Compressed image') xlab1 = ['2-norm rec.: ',num2str(perfl2)]; xlab2 = [' % -- zero cfs: ',num2str(perf0), ' %']; xlabel([xlab1 xlab2]);
Birgé, Л.; П. Мэссарт (1997). “От выбора модели до адаптивной оценки”, в Д. Полларде (редактор), Festchrift для Ль. Ле Кама, Спрингера, стр 55–88.