【问题标题】:How can I save set of altered images in new folder in MATLAB?如何在 MATLAB 的新文件夹中保存一组更改的图像?
【发布时间】:2016-04-30 08:35:06
【问题描述】:

我有一个包含 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

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

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

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

    附带说明一下,您需要使用 fullfile 来可靠地构建跨计算机和操作系统的文件夹路径。

    【讨论】:

    • Suever 谢谢你,它现在可以工作了......我花了两天时间来解决它
    猜你喜欢
    • 1970-01-01
    • 2010-10-09
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多