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!