我在MATLAB上尝试GLCM,但我必须一个接一个地输入图像,这花费了我很长时间。有没有什么办法我们可以给GLCM提供大量的图像,比如1000张?如何编写这样的循环?
发布于 2015-07-09 20:29:46
如果您有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');,或者如果您要分析的所有文件的某个位置都有'GCLM‘,请使用file_list = dir('*GCLM*');
https://stackoverflow.com/questions/31311008
复制相似问题