Matlab imwrite - 必须提供文件名

时间:2018-01-24 21:42:12

标签: matlab

我在目录中有一张图片:

C:\Users\me\folder\A1B1\A\0001.bmp

我有多个目录('A1B1\A', 'A1B1\B', 'A3B1\A', ...)。在读取该图像并对其进行修改后,我将图像存储在变量I下。我尝试使用

将修改后的图像保存为0001_1.bmp
a = 'C:\Users\me\folder'
b= 'A1B1'
c = 'A'
img = '0001.bmp'
sp=strsplit(img(1), '.');
full = fullfile(a, b, c);
scat=strcat(full, '\', sp(1), '_1.bmp');
imwrite(I,scat);

但我得到

Error using imwrite>parse_inputs (line 523)
A filename must be supplied.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您当前的代码会生成一个包含以下文件名的单元格(不是字符数组):

C:\Users\me\folder\A1B1\A\0_1.bmp

似乎偏离了所需的输出:

C:\Users\me\folder\A1B1\A\0001_1.bmp

这可以解决您的问题:

a = 'C:\Users\me\folder';
b = 'A1B1';
c = 'A';
img = '0001.bmp';
sp = strrep(img, '.', '_1.');
full = fullfile(a,b,c,sp);
imwrite(I,full);