Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

双直交ウェーブレットを使用したイメージの再構成

この例では、双直交ウェーブレット フィルターが適用される次数がイメージの再構成にどう影響するかを示します。

bior3.5 ウェーブレットの解析と合成フィルターを生成します。イメージを読み込んで表示します。

[LoD,HiD,LoR,HiR] = wfilters('bior3.5');
load woman
imagesc(X)
colormap gray

Figure contains an axes object. The axes object contains an object of type image.

解析フィルターの LoDHiD には 5 個の消失モーメントがあります。合成フィルターの LoRHiR には 3 個の消失モーメントがあります。解析フィルターを使用して、イメージの 5 レベル ウェーブレット分解を実行します。

[c1,s1] = wavedec2(X,5,LoD,HiD);

振幅のあるウェーブレット係数のみを上位 10% 内で維持しているしきい値を見つけます。そのしきい値を使用して、下位 90% の係数を 0 に設定します。

frac = 0.1;
c1sort = sort(abs(c1),'desc');
num = numel(c1);
thr = c1sort(floor(num*frac));
c1new = c1.*(abs(c1)>=thr);

合成フィルターとしきい値適用後の係数を使用してイメージを再構成します。再構成を表示します。

X1 = waverec2(c1new,s1,LoR,HiR);
figure
imagesc(X1)
colormap gray

Figure contains an axes object. The axes object contains an object of type image.

合成フィルターを使用して、イメージの 5 レベル ウェーブレット分解を実行します。

[c2,s2] = wavedec2(X,5,LoR,HiR);

振幅のあるウェーブレット係数のみを上位 10% 内で維持しているしきい値を見つけます。そのしきい値を使用して、下位 90% の係数を 0 に設定します。

frac = 0.1;
c2sort = sort(abs(c2),'desc');
num = numel(c2sort);
thr = c2sort(floor(num*frac));
c2new = c2.*(abs(c2)>=thr);

合成フィルターとしきい値適用後の係数を使用してイメージを再構成します。再構成を表示します。3 個の消失モーメントをもつフィルターを使用して分解し、5 個の消失モーメントをもつフィルターを使用して再構成すると、結果的に質の悪い再構成になります。

X2 = waverec2(c2new,s2,LoD,HiD);
figure
imagesc(X2)
colormap gray

Figure contains an axes object. The axes object contains an object of type image.

参考

| | | |