将逻辑输出图像保存到新的(mkdir)文件夹中

时间:2016-02-29 16:13:08

标签: matlab matlab-figure

我使用imresize来调整大约20个图像。我希望调整大小的图像存储在我创建的新文件夹中。这是我使用的代码:

imwrite(myoutput, 'resized.png');

现在我的问题是,我只得到一个写入工作目录的图像,名为'resized.PNG'。我希望保存所有20张已调整大小的图像。

我还希望将它们保存在由mkdir(resizedFolder)定义的新文件夹中......我不知道该怎么做。

以下是我的代码的摘录:

dirD=dir('*.jpeg');
for k=1:length(dirD);  %k=20      %technically
    %i ran a long code to find a       %rectangular boundary, and cropped.

    CropIm=imcrop(I, thisBlobsBoundingBox);
    resizedIm=imresize(CropIm, 0.1);
end

现在,我希望将resizedIm存储在resizedFolder作为单独的图像,这样可以为我提供20张图片。

2 个答案:

答案 0 :(得分:2)

您将要使用fullfile来合并目录和文件名。您还需要为每个图像创建自定义文件名。下面我假设你的所有图像都在一个单元格数组中。

resized01.png

这将在您指定的文件夹中创建图像,文件名为:resized02.pngUri.encode(" Oklahoma City".trim()) ,...

更新:我已将我的回复更新为更具体的初始代码。

答案 1 :(得分:0)

我会将您当前的目录存储到像

这样的变量中
curPath = cd;
newPath = newDirectory;
cd(curPath);
cd newPath;

在此之后,您的工作目录是新文件夹。运行循环以保存文件。

确保您正在迭代文件名。

for i = 1:20
    imwrite(myoutput(i), ['resized', num2str(i),'.png']);
end