필터 지우기
필터 지우기

Images not performing all functions inside for loop!!

조회 수: 2 (최근 30일)
Tinna Armasamy
Tinna Armasamy 2017년 5월 23일
댓글: Tinna Armasamy 2017년 5월 23일
This is my coding done to read all images from a folder and allow each image to perform a list of feature extraction function and then export each value to excel sheet. But unfortunately my coding shoes value of m = 16(no of images in the folder) but only gives values for one image. Only 6 values(6 features extracted) is exported to excel sheet instead of 96 values. How do i fix this?
Dir = 'C:\Users\Administrator\Desktop\Tinna\PROJECT\soil_jpg\DataSet';
images = dir(fullfile(Dir,'*.jpg'));
for m = 1 : length(images)
Img = imread(fullfile(Dir,images(m).name));
Img = imadjust(Img,stretchlim(Img));
Img = imresize(Img,[256,256]);
hsvHist = hsvHistogram(Img);
autoCorrelogram = colorAutoCorrelogram(Img);
color_moments = colorMoments(Img);
% for gabor filters we need gray scale image
img = double(rgb2gray(Img))/255;
[meanAmplitude, msEnergy] = gaborWavelet(img, 4, 6); % 4 = number of scales, 6 = number of orientations
wavelet_moments = waveletTransform(Img);
Feature_Vector = [hsvHist autoCorrelogram color_moments meanAmplitude msEnergy wavelet_moments];
whos Feature_Vector
F1 = mean2(hsvHist(:));
F2 = mean2(autoCorrelogram(:));
F3 = mean2(color_moments(:));
F4 = mean2(meanAmplitude(:));
F5 = mean2(msEnergy(:));
F6 = mean2(wavelet_moments(:));
end
xlswrite('testdata.xlsx',[F1 F2 F3 F4 F5 F6]);

채택된 답변

KSSV
KSSV 2017년 5월 23일
편집: KSSV 2017년 5월 23일
You are savin gonly the last image features, you need to save all the image features into a cell/matrix.
Dir = 'C:\Users\Administrator\Desktop\Tinna\PROJECT\soil_jpg\DataSet';
images = dir(fullfile(Dir,'*.jpg'));
F1 = cell(length(images),1) ;
F2 = cell(length(images),1) ;
F3 = cell(length(images),1) ;
F4 = cell(length(images),1) ;
F5 = cell(length(images),1) ;
F6 = cell(length(images),1) ;
for m = 1 : length(images)
Img = imread(fullfile(Dir,images(m).name));
Img = imadjust(Img,stretchlim(Img));
Img = imresize(Img,[256,256]);
hsvHist = hsvHistogram(Img);
autoCorrelogram = colorAutoCorrelogram(Img);
color_moments = colorMoments(Img);
% for gabor filters we need gray scale image
img = double(rgb2gray(Img))/255;
[meanAmplitude, msEnergy] = gaborWavelet(img, 4, 6); % 4 = number of scales, 6 = number of orientations
wavelet_moments = waveletTransform(Img);
Feature_Vector = [hsvHist autoCorrelogram color_moments meanAmplitude msEnergy wavelet_moments];
whos Feature_Vector
F1{m} = mean2(hsvHist(:));
F2{m} = mean2(autoCorrelogram(:));
F3{m} = mean2(color_moments(:));
F4{m} = mean2(meanAmplitude(:));
F5{m} = mean2(msEnergy(:));
F6{m} = mean2(wavelet_moments(:));
end
xlswrite('testdata.xlsx',[F1 F2 F3 F4 F5 F6]);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Deep Learning for Image Processing에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by