Error while reading image in loop to perform some operation on all images in folder
2 次查看(过去 30 天)
显示 更早的评论
I am getting error, while using this recursive function to read the images and perform some operation on all images in a given folder.
function recursiveFile()
Files=dir('D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images\*.tif');
for k=1:length(Files)
Files(k).name;
image1 = strcat('D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images\*.tif',Files(k).name);
i = imread(image1);
%encode_HTJ2K(image,i,1);
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/796079/image.png)
0 个评论
采纳的回答
KSSV
2021-11-10
编辑:KSSV
2021-11-10
function recursiveFile()
Files=dir('D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images\*.tif');
for k=1:length(Files)
Files(k).name;
% You need to change thepath in the below line. Don't use *tif
image1 = strcat('D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images\',Files(k).name);
i = imread(image1);
%encode_HTJ2K(image,i,1);
end
2 个评论
Walter Roberson
2021-11-10
编辑:Walter Roberson
2021-11-10
function recursiveFile()
projectdir = 'D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images');
Files = dir(fullfile(projectdir, '*.tif'));
for k=1:length(Files)
image1 = fullfile(Files(k).folder, Files(k).name);
i = imread(image1);
%encode_HTJ2K(image,i,1);
end
I deliberately wrote it using the .folder field, because the function name suggests that you might want to search all sub-directories, which you could do by using a small modification,
function recursiveFile()
projectdir = 'D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images');
Files = dir(fullfile(projectdir, '**', '*.tif'));
for k=1:length(Files)
image1 = fullfile(Files(k).folder, Files(k).name);
i = imread(image1);
%encode_HTJ2K(image,i,1);
end
The '**' tells it to look under all subdirectories recursively.
KSSV
2021-11-10
You can also use:
image1 = [Files(k).folder,filesep,Files(k).name] ;
instead of
image1 = strcat('D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images\',Files(k).name);
更多回答(1 个)
Chunru
2021-11-10
function recursiveFile()
% Files=dir('D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images\*.tif');
folder = "D:\datasets\PRImA_LayoutAnalysisDataset\PRImA Layout Analysis Dataset\Images\";
Files=dir(fullfile(folder, "*.tif");
for k=1:length(Files)
%Files(k).name;
image1 = fullfile(folder, Files(k).name);
i = imread(image1);
%encode_HTJ2K(image,i,1);
end
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!