如何在MATLAB中的新文件夹中保存更改的图像集?

时间:2016-04-30 00:23:45

标签: matlab image-processing

我有包含10张图片的文件夹。

我正在尝试对它们中的每一个应用高斯滤波器。我从名为dd的文件夹中读取图像,然后我想将更改的图像保存在newfolder中。但是,当我看到图像时,它是空的。

如何以正确的方式执行此操作,读取10张图像,过滤它们,将更改的10张图像保存在新文件夹中。

这是我到目前为止的代码:

for img = 1:10
    a = imread(['\dd\',int2str(img),'.pgm']);

    G = fspecial('gaussian',[3 3],2);
    Ig = imfilter(a,G,'same');

    imshow(Ig);
    imwrite( Ig, 'Ig.pgm '); % does not work !!
    save ([ path,'\newfolder\', 'new.pgm'],'Ig');% it save empty image !!!
end

1 个答案:

答案 0 :(得分:2)

save不适用于保存图片。相反,您需要使用imwrite。您还需要提供imwrite的完整路径,此处我们使用mat2gray只是为了确保您的数据涵盖图像类型的整个动态范围。您还需要确保每个输出图像都具有唯一的名称,以便它们不会相互覆盖。

output_filename = fullfile(path, 'newfolder', sprintf('%d_new.pgm', img));
imwrite(mat2gray(Ig), output_filename, 'pgm');

作为旁注,您需要使用fullfile可靠地构建跨计算机和操作系统的文件夹路径。