2013-03-15 62 views
1

有人可以幫助我如何解決這個問題。在Matlab中偏度的尺寸

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

我想這是因爲'mean2'和'std2'返回標量,而'skewness'返回一個向量。 'grayImage'的橫向維度是什麼?這不是257像素? – 2013-03-15 11:14:23

+0

水平尺寸?你的意思是grayImage的大小嗎? grayImage:<236x257 uint16>。 – user2157806 2013-03-15 11:17:17

+0

正如我懷疑! – 2013-03-15 11:34:22

回答

2

您的問題是mean2std2整個圖像上進行操作,但skewness列的圖像工作。你應該定義一個新的功能

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

並用它來代替skewness

+0

非常感謝你的回答,我明白了......謝謝 – user2157806 2013-03-15 11:48:01