0

我在 MATLAB 上尝试了 GLCM,但我必须一张一张地输入图像,这需要我永远。无论如何,我们是否可以向 GLCM 提供大量图像,例如 1,000 张?如何编写这样的循环?

4

1 回答 1

1

如果您有 n 个遵循系统命名方案的图像(image1.jpg、image2.jpg、...),那么很简单:

for k = 1 : n
    image = imread(strcat('image',num2str(k),'.jpg'));
    %do your GLCM analysis
end

如果它们的名称格式不太好,但都存储在同一个文件夹中,那么您必须使用如下方式读取它们:

cd DIRECTORY_IMAGES_ARE_IN;
file_list = dir;
for k = 1 : n
    image = imread(file_list(k).name);
    %GLCM code
end

对于最坏的情况,您的文件位于与其他内容混合的目录中,并且没有合理的命名约定,您可以使用一些通配符遍历它们。dir可以采用单个参数,即要查找的文件名。如果您想遍历目录中的所有 jpeg 图像file_list = dir('*.jpg');,请使用file_list = dir('*GCLM*');

于 2015-07-09T12:29:45.773 回答