Read All Images in Directory

7 次查看(过去 30 天)
Hello, i want to check noise level in image. The original code is only read 1 file and check the noise level of the image. Assume that i have more than one images and i want to execute all in one time. How to read all the image? I have tried this but it show the error below.
imagefiles = dir('Test\*.jpg');
nfiles = length(imagefiles); % Number of files found
for ii = 1 : nfiles
% diary('output2.txt');
% diary on;
currentfilename = imagefiles(ii).name;
currentimage = imread(currentfilename);
images{ii} = currentimage;
img = double(imread(currentfilename));
nlevel = NoiseLevel(img);
fprintf('noise level: %f \n\n', nlevel);
end
% diary off;
The error is shown like below :
Thank you...
  1 个评论
Matt Macaulay
Matt Macaulay 2018-4-24

The only thing that looks off is that a file named 'IMG_3700.JPG' is returned from a search from

   dir('Test\*.jpg').

'Test' is not in the filename of 'IMG_3700.JPG'. Clear the workspace?

请先登录,再进行评论。

采纳的回答

Ameer Hamza
Ameer Hamza 2018-4-24
编辑:Ameer Hamza 2018-4-24
The mistakes lies in currentimage = imread(currentfilename);. Here currentfilename just contain file name IMG_3700.JPG, not the complete path Test\IMG_3700.JPG. You need to specify the complete path as
currentimage = imread(['Test\' currentfilename]);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Segmentation and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by