-1

我开始新学习Matlab。我正在尝试学习分类。我将为我的 23 张图像进行分类。在我正在使用的函数文件中

I = imread('img.jpg');
a = rgb2gray(I);
bw = double(imread('mask_img.jpg'))/255;
b = rgb2gray(bw);
bwi = 1-b; 

并处理图像的原始图像和基本事实。我可以处理一张图像,并且我的主文件中有循环。

for i=1:original_images_db.Count
    original = original_images_db.ImageLocation(i);
    groundtruth = original_file;
    [x,y] = calculateFeatures(original, groundtruth, parameters);
dataset.HorizonFeats{i} = features; 
end

我将 original_images_db 与 imageset 关联到文件。当我运行我的主文件时,自然每次它从函数文件中读取 img 但实际上在命令文件中 main 可以检测到其他图像。我的问题是如何在我的函数文件中创建一个循环,以便我的数据可以在所有其他图像中?

谢谢

4

1 回答 1

0
fname={'1.jpg','2.jpg','3.jpg'};

像这样创建单元格,它包含图像的所有文件路径

for i=1: length(fname)
  im= imread(fname{i});  
end

现在您可以迭代所有图像

或者

使用 dir(image_path) 函数

fnames = dir('image_directory_path');
于 2017-05-08T12:04:10.847 回答