Matlab中偏度的维数

时间:2013-03-15 11:06:11

标签: matlab filter

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

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(偏斜)成为1x40

希望有人可以帮助我。

1 个答案:

答案 0 :(得分:2)

您的问题是mean2std2对整个图片进行操作,但skewness对图片的进行操作。您应该定义一个新函数

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

并使用它代替skewness