Effacer les filtres
Effacer les filtres

Can anyone help me with this error?

2 vues (au cours des 30 derniers jours)
Aman Swaraj
Aman Swaraj le 10 Fév 2020
Commenté : Aman Swaraj le 10 Fév 2020
Error using matlab.io.datastore.ImageDatastore/readimage (line 36)
Error using ReadFcn @(filename)readAndPreprocessImage(filename) function handle for file
E:\IndianCulturalEventRecognition\1\1.jpg.
Undefined function 'readAndPreprocessImage' for input arguments of type 'char'.
Error in CNN_main>@(filename)readAndPreprocessImage(filename)

Réponse acceptée

Walter Roberson
Walter Roberson le 10 Fév 2020
  3 commentaires
Aman Swaraj
Aman Swaraj le 10 Fév 2020
My original code:
rootFolder = fullfile( 'E:\MTECH STUFF\2ND YEAR\CBTC\IMPLEMENTATION\P3 PROJECT\CNN CODE & Support\IndianCulturalEventRecognition');
categories = {'1','2'};
imds = imageDatastore(fullfile(rootFolder, categories), 'LabelSource', 'foldernames');
tbl = countEachLabel(imds);
minSetCount = min(tbl{:,2});
imds = splitEachLabel(imds, minSetCount, 'randomize');
countEachLabel(imds);
convnet=helperImportMatConvNet('imagenet-caffe-alex.mat');
disp('CNNhas been loaded');
%imds.ReadFcn = @(filename)readAndPreprocessImage_saliency(filename);
imds.ReadFcn = @(filename)readAndPreprocessImage(filename);
[trainingSet, testSet] = splitEachLabel(imds, 0.6, 'randomize');
featureLayer1 = 'fc7';
featureLayer2= 'fc6';
trainingFeatures1 = activations(convnet, trainingSet, featureLayer1, ...
'MiniBatchSize', 32, 'OutputAs', 'columns');
trainingFeatures2 = activations(convnet, trainingSet, featureLayer2, ...
'MiniBatchSize', 31, 'OutputAs', 'columns');
% trainingFeatures3 = activations(convnet, trainingSet, featureLayer3, ...
% 'MiniBatchSize', 31, 'OutputAs', 'columns');
trainingFeatures = [trainingFeatures1;trainingFeatures2];
trainingLabels = trainingSet.Labels;
%%
testFeatures1 = activations(convnet, testSet, featureLayer1, 'MiniBatchSize',32);
testFeatures2 = activations(convnet, testSet, featureLayer2, 'MiniBatchSize',32);
%testFeatures3 = activations(convnet, testSet, featureLayer3, 'MiniBatchSize',32);
%%
testFeature = [testFeatures1,testFeatures2];
classifier = fitcecoc(trainingFeatures,trainingLabels,'Learners','Linear','Coding','onevsall','ObservationsIn','columns');
predictedLabels = predict(classifier, testFeature);
testLabels = testSet.Labels;
confMat = confusionmat(testLabels, predictedLabels);
confMat2 = bsxfun(@rdivide,confMat,sum(confMat,2));
Aman Swaraj
Aman Swaraj le 10 Fév 2020
Thanks, now its working, the problem was with the path.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by