0

我有一组图像(> 500),我想将它们转换为 .PGM格式。
有没有办法从.m文件中做到这一点?

此致!

更新 06/09/2016

我找到了以下链接,其中 IRFANVIEW 命令出现,但我没有从 matlab 运行外部命令的经验。我使用了以下脚本:

dir_irfanview=('C:\Program Files (x86)\IrfanView\i_view32.exe');
cmd ='filelist=c:\v\list.txt /convert= c:\vc\*.pgm';
cmd2 = [cmd,dir_irfanview];
system(cmd2);

我收到以下错误:

"filelist" 不是内部或外部命令、程序或批处理文件。

请注意,我在 DOS 中使用了“ i_view32.exe filelist=c:\v\list.txt /convert= c:\vc*.pgm ”命令,没有问题。

一些指导?

4

1 回答 1

1

正如Jørgen建议的那样,您可以使用system()调用 irfanview 进行转换。

或者,您可以在循环中使用imreadandimwrite以更“matlab”的方式完成这项工作

fls = dir('/path/to/images/*');
for ii=1:numel(fls)
    if fls(ii).isdir
        continue; 
    end
    [pth fn ext] = fileparts(fls(ii).name);
    img = imread(fullfile('/path/to/images',fls(ii).name));
    imwrite(img, fullfile('/path/to/images',[fn, '.pgm']));
end
于 2016-09-01T10:13:15.457 回答