1

有人可以帮我解决这个问题。

grayImage=dicomread('028tm.R.dcm');
sx=32;
sy=32;
theta=[0 pi/4 2*pi/4 3*pi/4 4*pi/4 5*pi/4 6*pi/4 7*pi/4];

gamma=1;
psi=0;
sigma=6; % ????12
lambda=[5 6 7 8 9 7];

# Creating 40 Gabor Filters
G = cell(5,8);
for i = 1:5
  for j = 1:8
    G{i,j}=zeros(65,65);
  end
end
for i = 1:5
  for j = 1:8
    f=1/lambda(i);      

    [T,gabout] = gaborfilter1(grayImage,sx,sy,f,theta(j));
    u{i,j}=mean2(gabout);
    del{i,j}=std2(gabout);  
    skew{i,j} =skewness(gabout);
    sk=[skew{:,:}];
    std=[u{:,:}];
    mn=[del{:,:}];
    disp(sk)             
  end
end

这是我将展示我的工作区。

mn <1x40 double>
sk<1x10280 double>
std<1x40 double>

为什么sk(偏度的值)是1X10280两倍??????它应该1x40像标准差和平均值。如何使 sk(skewness) 成为1x40

希望可以有人帮帮我。

4

1 回答 1

2

您的问题是对整个图像进行操作,但mean2对图像的进行操作。您应该定义一个新功能std2skewness

function sk = skewness2(X)
    sk = skewness(X(:));
end

并用它代替skewness.

于 2013-03-15T11:35:30.337 回答