Пороги для вейвлет- 2-D с использованием стратегии Бирже-Массарта
[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
получен с использованием правила выбора коэффициентов вейвлета на основе стратегии Бирже-Массара.
[C,S]
- структура разложения вейвлет изображения, подлежащего обнулению или сжатию, на уровне 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]);
Бирге, Л.; П. Массарт (1997). «От выбора модели до адаптивной оценки», D. Pollard (ed), Festchrift for L. Le Cam, Springer, pp. 55-88.