Error using == Number of array dimensions must match for binary array op.
3 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Bhaskar R
2020 年 2 月 14 日
編集済み: Bhaskar R
2020 年 2 月 14 日
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 件のコメント
Walter Roberson
2020 年 2 月 14 日
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.
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!