GLCM на MATLAB, как написать скрипт для его применения на большом количестве изображений

Я пробовал GLCM на MATLAB, но я должен кормить изображение один за другим, и это забирает меня навсегда. Можно ли в любом случае передать GLCM большое количество изображений, скажем, 1000? Как написать такой цикл?

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');или если файлы, которые вы хотите проанализировать, содержали в себе GCLM, используйте file_list = dir('*GCLM*');

Другие вопросы по тегам