道歉,我对MatLab来说还不够新鲜。
我有一个脚本,一次从我当前的工作目录中提取一个文件并绘制指定的信息。我想将每个图块保存为jpeg(tiff也没关系),并附有它正在绘制的文件的名称。我有大约3000个文件,所以我正在寻找一种自动化的方法来做到这一点。
我认为如果放在for循环的末尾可能会有效:
saveas(gcf,'',jpg)
我不确定该文件名的引用内容。
非常感谢, 蒂芙尼
答案 0 :(得分:1)
如果loadedFileName
是您刚刚加载的文件的名称(也许是)路径,那么您可以执行以下操作来保存具有相同文件名的jpeg
% get the path, name and extension of the file just loaded
[path, name, ext] = fileparts(loadedFileName);
% grab what you want to create the filename of the jpeg to save
jpegToSaveFileName = [name '.jpg']; % use path if you want to save to same directory
% save the figure as a jpeg
saveas(gcf,jpegToSaveFileName,'jpg');
尝试以上操作,看看会发生什么。如果您需要添加文件名的路径,请执行类似
的操作jpegToSaveFileName = fullfile(path, jpegToSaveFileName);
尝试以上操作,看看它是否符合您的要求!
答案 1 :(得分:0)
由于您的脚本已经拥有文件名信息(否则无法打开文件并读取数据),您只需使用' .jpg'扩展文件名。并将此字符串传递给saveas函数。文件名'hello'
的演示:
>> filename = 'hello'
filename =
hello
>> picname = [filename, '.jpg']
picname =
hello.jpg
>> a = figure
a =
4
>> saveas(a, picname)
>> ls
hello.jpg