我有一个文件夹,有各种图像我试图使用imread命令从文件夹中逐个读取图像,任何建议如何做到最好 谢谢
答案 0 :(得分:1)
dir
函数获取目录中的所有文件。这将返回一个结构向量,其中还包含文件名答案 1 :(得分:0)
您必须同步图像名称才能循环读取。他们必须像image1.jpg
,image2.jpg
,image3.jpg
...你有10张这样的图片。
NumberOfimages=10; %chose the number of images you want to give input
prefix_image='image'; %change the desired input image name here only
fileformat='.jpg'; %change the desired input image format here only
for num=1:NumberOfimages
image = imread(strcat(prefix_image,num2str(num),fileformat));
end
答案 2 :(得分:0)
即使使用不同的名称,此功能也可以帮助您一次阅读许多图像:
首先将所有图像放在一个文件夹中,例如:D:/ lab /
它们必须采用相同的格式,例如:tif
调用您键入的函数:
A=imread_many( );
所有图像都在变量A
中如果你想要第一个你输入A{1}
的图像,如果你想要第二个你输入A{2}
..etc
function [ A ] = imread_many( )
srcFiles = dir('D:\lab\*.tif'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = strcat('D:\lab\',srcFiles(i).name);
A{i} = imread(filename);
figure, imshow(A{i});
end
end
答案 3 :(得分:0)
srcFiles = dir('C:\Users\Omm\Downloads\multicharacterrec\*.png'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = strcat('C:\Users\Omm\Downloads\multicharacterrec\',srcFiles(i).name);
I = imread(filename);
figure, imshow(I);
答案 4 :(得分:-1)
这可以帮助!
S = struct2cell(dir('*.jpg'));
FileNames = S(1,:);
lenDb = length(FileNames);
result= struct('img', {});
for j = 1 : lenDb
result(j).img = imread(FileNames{j})
end
所有图片都在struct“result.img”
中要访问只调用结果(NUM).img
例如:
图像(结果(1).img)