我在 MATLAB 上尝试了 GLCM,但我必须一张一张地输入图像,这需要我永远。无论如何,我们是否可以向 GLCM 提供大量图像,例如 1,000 张?如何编写这样的循环?
问问题
227 次
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 回答