wdcbm2

Пороги для вейвлет- 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 = / (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.

См. также

|

Представлено до R2006a