Filter löschen
Filter löschen

Can anyone help me with this error?

2 Ansichten (letzte 30 Tage)
Aman Swaraj
Aman Swaraj am 10 Feb. 2020
Kommentiert: Aman Swaraj am 10 Feb. 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)

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 10 Feb. 2020
  3 Kommentare
Aman Swaraj
Aman Swaraj am 10 Feb. 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 am 10 Feb. 2020
Thanks, now its working, the problem was with the path.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by