【问题标题】:Working on more than one image in Matlab在 Matlab 中处理多个图像
【发布时间】:2017-05-08 11:23:10
【问题描述】:

我刚开始学习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 可以检测到其他图像。我的问题是如何在我的函数文件中创建一个循环,以便我的数据可以在所有其他图像中?

谢谢

【问题讨论】:

  • 你的问题一点都不清楚,我看不懂你的最后一段。但是,变量features 没有在循环中分配,并且您对xy 输出什么也不做,因此该代码不太可能做任何有用的事情。
  • 因为我没有放所有代码。

标签: image matlab for-loop image-processing imread


【解决方案1】:
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');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    相关资源
    最近更新 更多