I have a folder of binary images.I want to assign each image a variable so that it would be easy to extract features for the images.can someone please help me out?

1 回表示 (過去 30 日間)
myFolder = 'e:\\invertedimages';
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
filePattern = fullfile(myFolder, '*.bmp');
bmpFiles = dir(filePattern);
for k = 1:length(bmpFiles)
baseFileName = bmpFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray = imread(fullFileName);
imshow(imageArray); % Display image.
drawnow; % Force display to update immediately.
end
  7 件のコメント
neha viswanath
neha viswanath 2015 年 2 月 11 日
sir in the above code
if true
baseFileName = bmpFiles(k).name;
end
what does .name for name of image or folder in which the image is or a predefined word.
Image Analyst
Image Analyst 2015 年 2 月 11 日
Sorry - I evidently pasted the original code instead of the code I changed and tested. Try this:
myFolder = fileparts(which('cameraman.tif')); % Determine where demo folder is (works with all versions).
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
filePattern = fullfile(myFolder, '*.tif');
bmpFiles = dir(filePattern);
for k = 1:length(bmpFiles)
baseFileName = bmpFiles(k).name;
fullFileName = fullfile(myFolder, baseFileName);
fprintf(1, 'Now reading %s\n', fullFileName);
imageArray{k} = imread(fullFileName);
imshow(imageArray{k}); % Display image.
drawnow; % Force display to update immediately.
end
As to your latest question, bmpFiles is an array of structures. Each structure has several fields, one of which is name. So bmpFiles(k) is the k'th structure in the array and bmpFiles(k).name is the file name of the k'th image.

サインインしてコメントする。

採用された回答

Stephen23
Stephen23 2015 年 1 月 11 日
  6 件のコメント
Rene
Rene 2018 年 4 月 14 日
Uh, yes it should if you need to create a 4D array for training a neural network.
Walter Roberson
Walter Roberson 2018 年 4 月 14 日
No, if you need to create a 4D array for training a neural network, then you do not need a separate variable for each image. You can read an image into one variable, validate that the image is the right size and data type, and then store that variable as a slice of the 4D array (a second variable.) The loop index adds a third variable, the filename to read probably adds a 4th variable, for a total of 4 variables, not one variable per image.

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2015 年 1 月 11 日
Do you have a question? You have your image in the loop, so just do something with it.

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by