连接文件夹中的图像

时间:2011-05-27 14:40:46

标签: image matlab file loading concatenation

我有一系列图像保存在一个文件夹中,我编写了一个简短的程序来打开其中两个图像文件,连接它们(最好是垂直的,虽然现在我正在水平尝试),然后将这个新图像保存到同一个文件夹。这是我到目前为止所写的:

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文件,但格式可以轻松转换。

非常感谢有关如何修复此错误的任何输入,或者更好的预处理此任务的方法!

干杯,

阿米娜

2 个答案:

答案 0 :(得分:1)

替换

[image1,map1] = imread(graph1);

[image2,map2] = imread(graph2);

通过

[image1,map1] = imread(file1);

[image2,map2] = imread(file2);

同时检查您是否在正确的工作目录中。

答案 1 :(得分:1)

除了@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');