2016-05-19 57 views
0

glcmメソッドを使って特徴抽出を行っています。 glcm出力は 'struct'型ですが、出力はdouble型にする必要があります。Matlabで複合double型からdouble型に変換する

私は以下に示すいくつかのコードを使用して変換しようとしました。 Fetrain1コードを取得するには

srcFile = dir('D: datatest\*.png'); 
fetest1 = []; %or fetrain1 
for b = 1:length(srcFile) 
    file_name = strcat('D:datatest\',srcFile(b).name); 
    B = imread(file_name); 
% [fiturtest] = feature_extractor (B); 
    [g] = glcm (B); 
    [g] = struct2cell (g); 
    [fiturtest] = cell2mat (g); %fiturtrain 
% [c] = CobaDCT (A); 
% [fitur] = cobazigzag(c); 
% arr(:,a) = fitur; 
    fetest1 = [fetest1 fiturtest]; %fiturtrain 
% vectorname = strcat(file_name,'_array.mat'); 

end 
save ('fetest1.mat','fetest1'); %fetrain1 

Fetest1コードを取得するには

srcFiles = dir('D:datatrain\*.png'); 
fetrain1 = []; 
for a = 1:length(srcFiles) 
    file_name = strcat('D:datatrain\',srcFiles(a).name); 
    A = imread(file_name); 
    [fiturtrain] = feature_extractor (A); 
% [c] = CobaDCT (A); 
% [fitur] = cobazigzag(c); 
%  fiturtrain (:,a) = fiturtrain ; 
    fetrain1 = [fetrain1 fiturtrain]; 
% vectorname = strcat(file_name,'_array.mat'); 
end 
save ('fetrain1.mat','fetrain1'); 

プロセス全体の出力はfetrain1とfetest1変数です。私はfetest1とfetrain1を得るために同じコードを実行しますが、fetest1は 'double'型であり、fetrainは 'complex double'型です。

enter image description here

enter image description here

私は「ダブル」タイプに「複雑なダブル」タイプからfetrain1を変換する必要があるので、私は次のステップのための変数を使用することができます。ニューラルネットワーク法を用いたトレーニングステップ。

ご意見をいただければ幸いです。

+1

複素数の絶対値がabs' 'によって返されます。実数部と虚数部は、それぞれrealとimagで返されます。 _real_質問は:あなたは何を選ぶだろう?なぜですか? – buzjwa

+0

アラビア文字のセグメンテーションにあなたの助けが必要です。メールを受け取ってもらえますか?喜んで@Hamedと – Hamed

+0

。 [email protected] –

答えて

0

あなたが行うことができますGLCM法により機能をestractingしている場合:

srcFile = dir('D: datatest\*.png'); 
fetest1 = []; %or fetrain1 

for b = 1:length(srcFile) 
    file_name = strcat('D:datatest\',srcFile(b).name); 
    B = imread(file_name); 

    imG = rgb2gray(B); 

    % create gray-level co-occurrence matrix from image 
    gimg = graycomatrix(imG); 

    % extract properties of gray-level co-occurrence matrix 
    stats = graycoprops(gimg, 'all'); 

    features = [stats.Energy stats.Homogeneity stats.Correlation stats.Contrast]; 

    fetest1 = cat(1, fetest1, features); 
end 
+0

提案に感謝します。 しかし、私はすでにGLCMの機能を持っています、元のソースコードはここからですhttp://www.mathworks.com/matlabcentral/fileexchange/22187-glcm-texture-features 私が今必要とするのは、適切な出力。 'double'型のfetrain1。だから、私は次のステップでそれを使うことができます。 –

+0

コードに 'fetrain'はありません。 – SamuelNLP

関連する問題