MATLAB Answers

Error using == Number of array dimensions must match for binary array op.

3 views (last 30 days)
Solmon Raju
Solmon Raju on 14 Feb 2020
Commented: Walter Roberson on 14 Feb 2020
myFolder = 'C:\Users\cse\Desktop\images';
% if ~isdir(myFolder)
% errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
% uiwait(warndlg(errorMessage));
% return;
% end
a=uigetfile('C:\Users\cse\Desktop\1.jpg');
filePattern = fullfile(myFolder, '*.jpg');
jpegFiles = dir(filePattern);
for k = 1:length(jpegFiles)
baseFileName = jpegFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = imread(fullFileName);
figure(k),imshow(imageArray);
if(a==imageArray)
disp('yes');
end
end

  0 Comments

Sign in to comment.

Answers (1)

Bhaskar R
Bhaskar R on 14 Feb 2020
Edited: Bhaskar R on 14 Feb 2020
You are comparing character array with image matrix that is why you got error
if(a==imageArray)
disp('yes');
end
% a - Char array
% imageArray - Image numeric matrix
I think you are trying to compare filenames so replace if condition as
if(strcmp(a,baseFileName)
disp('yes');
end

  2 Comments

Walter Roberson
Walter Roberson on 14 Feb 2020
uigetfile returns the name of a file, not the contents of the file. But imageArray is the contents of one of the files, not the name of a file.

Sign in to comment.

Sign in to answer this question.