私はこの驚くべき反応に出くわしましたMATLAB をidwt2
数回適用して、それを自分で理解するために実行しました。ただし、RGB 画像を使用して同じものを使用する方法がわかりません。それで、私は3つの質問があります。
行と列に沿った高周波成分と低周波成分とともに出力に表示される変換された画像のみを使用して、コードを RGB 画像に適用するにはどうすればよいでしょうか。すべての成分の融合を単一の画像として表示することは可能ですか? cat オペレーターを配置する必要があることは承知していますが、その方法がわかりません。
第二に、迷路のようなイメージも得ています! 理由が分からず困っています。この画像がどのように生成されたかを示すステートメントと同じコードも添付しました。
db1
3.の関数シグネチャの用語は何をdwt
意味しますか?
コード:
load woman; % Load image data
%startImage=imread('pic_rgb.jpg'); % IF I WANT TO WORK WITH RGB IMAGE
nLevel = 3; % Number of decompositions
nColors = size(map,1); % Number of colors in colormap
cA = cell(1,nLevel); % Approximation coefficients
cH = cell(1,nLevel); % Horizontal detail coefficients
cV = cell(1,nLevel); % Vertical detail coefficients
cD = cell(1,nLevel); % Diagonal detail coefficients
startImage = X;
for iLevel = 1:nLevel,
[cA{iLevel},cH{iLevel},cV{iLevel},cD{iLevel}] = dwt2(startImage,'db1');
startImage = cA{iLevel};
end
figure;colormap(map);
imagesc(dwt2(startImage,'db1')); %THIS GIVES THE MAZED IMAGE INSTEAD OF THE TRANSFORMED IMAGE
figure;
tiledImage = wcodemat(cA{nLevel},nColors);
for iLevel = nLevel:-1:1,
tiledImage = [tiledImage wcodemat(cH{iLevel},nColors); ...
wcodemat(cV{iLevel},nColors) wcodemat(cD{iLevel},nColors)];
end
figure;
imshow(tiledImage,map);
%reconstruct
fullRecon = cA{nLevel};
for iLevel = nLevel:-1:1,
fullRecon = idwt2(fullRecon,cH{iLevel},cV{iLevel},cD{iLevel},'db1');
end
partialRecon = cA{nLevel};
for iLevel = nLevel:-1:1,
partialRecon = idwt2(partialRecon,[],[],[],'db1');
end
figure;
imshow([X fullRecon; partialRecon zeros(size(X))],map,...
'InitialMagnification',50);