我在一个文件夹中保存了一系列图像,我编写了一个短程序来打开其中两个图像文件,将它们连接起来(最好是垂直连接,尽管目前我正在尝试水平连接),然后将这个新图像保存到同一个文件夹。这是我迄今为止所写的:
function concatentateImages
%this is the folder where the original images are located path='/home/packremote/SharedDocuments/Amina/zEXAMPLE/';
file1 = strcat(cr45e__ch_21', '.pdf');
[image1,map1] = imread(graph1);
file2 = strcat('cr45f__ch_24', '.jpg');
[image2,map2] = imread(graph2);
image1 = ind2rgb(image1,map1);
image2 = ind2rgb(image2,map2);
image3 = cat(2,image1,image2);
%this is the directory where I want to save the new images
dircase=('/home/packremote/SharedDocuments/Amina/zEXAMPLE/');
nombrejpg=strcat(dircase, 'test', jpgext)
saveas(f, nombrejpg, 'jpg')
fclose('all');
然而,我一直收到一个错误,我的文件不存在,尽管我确信名称复制正确。
我目前使用的是jpg文件,但格式可以很容易地转换。
任何关于如何修复此错误的输入,或预形成此任务的更好方法,都将不胜感激!
干杯,
Amina
更换
[image1,map1] = imread(graph1);
和
[image2,map2] = imread(graph2);
通过
[image1,map1] = imread(file1);
和
[image2,map2] = imread(file2);
还要检查您是否在正确的工作目录中。
除了@Simon的答案外,您还需要更改
file1 = strcat(cr45e__ch_21', '.pdf');
至
file1 = strcat('cr45e__ch_21', '.pdf');
也就是说,你忘了一个。此外,您的函数似乎不包括jpgext
的定义。我想你想要一条类似的线路
jpgext = '.jpg';
最后,这主要是一个编码实践问题,但您可能希望改用fullfile
来构建完整的文件路径。
此外,如果你使用完整路径,你就不用担心自己在正确的工作目录中,而不必担心自己在哪个目录中。所以我建议:
dir1 ='/home/packremote/SharedDocuments/Amina/zEXAMPLE/';
file1 = fullfile(dir1, 'cr45e__ch_21.pdf');
etc