2016-05-19 5 views
0

Я делаю функцию извлечения с использованием метода glcm. Выход glcm имеет тип «struct», в то время как мне нужен вывод в двойном типе.Преобразование сложного двойного двойного типа в Matlab

Итак, я попытался преобразовать его, используя несколько приведенных ниже кода.

Чтобы получить Fetest1 код:

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 

Чтобы получить Fetrain1 код:

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 находится в «двойном» типе, а fetrain - в «сложном двойном» типе.

enter image description here

и

enter image description here

Мне нужно преобразовать fetrain1 от «сложного» двойного типа в «двойной» типа, так что я могу использовать переменную для следующего шага. Шаг обучения с использованием метода нейронной сети.

Любое предложение было бы очень оценено.

+1

Абсолютное значение комплексного числа возвращается 'abs'. Реальная часть и мнимая часть возвращаются соответственно «реальным» и «воображаемым». Вопрос _real_: что бы вы выбрали и почему? – buzjwa

+0

Мне нужна ваша помощь для сегментации арабского символа, могу ли я получить ваш адрес электронной почты? – Hamed

+0

с удовольствием @Hamed. [email protected] –

ответ

0

Если вы 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 Теперь мне нужно получить соответствующие вывод. fetrain1 в «двойном» типе. Поэтому я могу использовать его на следующем шаге. –

+0

В вашем коде нет 'fetrain'. – SamuelNLP

Смежные вопросы