1

480X480 画像の各行の morlet ウェーブレットを計算したいと思います。2次元配列(行列)である各行の変換の出力を保存する必要があります。

次に、平均の最終プロットを取得する必要がある 480 個の 2 次元行列すべての平均を取得します。

clc;
close all;
clear all;
I=imread('lena.jpg');
J=rgb2gray(I);
%K=J(1:480)
%coefs = cwt(K,1:128,'morl','plot');


coefs = cell(480,1);
for i = 1:480
   K=J(i,:);
coefs(i) = cwt(K,1:128,'morl');
end  

ここで、480 係数行列の平均を取りたいと思います。ここでエラーが発生しています

double から cell への変換はできません。

土壌波のエラー (12 行目) coefs(i) = cwt(K,1:128,'morl');

誰かがより良い方法を提案したり、これを微調整したりできますか。

4

1 に答える 1

1

セル配列は、形式や次元に一貫性のない要素を格納する必要がある場合に実用的ですが、何をしようとしているのかについては、3D 配列の方が操作が簡単です。これが私がすることです:

3D 配列を事前に割り当てます。

coefs = zeros(128, size(J, 2), size(J,1));

次に、スタックを計算して入力します。

for ii = 1:size(J, 1)
   K=J(ii,:);
   coefs(:,:,ii) = cwt(K,1:128,'morl');
end  

最後に、3 番目の次元に沿って平均を計算します。

MeanCoeff=mean(coefs, 3);
于 2014-03-21T18:40:07.323 に答える