有人可以帮我解决这个问题。
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
?
希望有人可以帮助我。
答案 0 :(得分:2)
您的问题是mean2
和std2
对整个图片进行操作,但skewness
对图片的列进行操作。您应该定义一个新函数
function sk = skewness2(X)
sk = skewness(X(:));
end
并使用它代替skewness
。