#image #matlab #file #loading #concatenation
#изображение #matlab #файл #Загрузка #объединение
Вопрос:
У меня есть серия изображений, сохраненных в папке, и я написал короткую программу, чтобы открыть два из этих файлов изображений, объединить их (предпочтительно по вертикали, хотя сейчас я пытаюсь по горизонтали), затем сохранить это новое изображение в ту же папку. Это то, что я написал до сих пор:
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, но формат можно легко преобразовать.
Приветствуется любая информация о том, как исправить эту ошибку, или более удобный способ предварительной обработки этой задачи!
Приветствия,
Амина
Ответ №1:
Заменить
[image1,map1] = imread(graph1);
и
[image2,map2] = imread(graph2);
Автор:
[image1,map1] = imread(file1);
и
[image2,map2] = imread(file2);
Также убедитесь, что вы находитесь в правильном рабочем каталоге.
Ответ №2:
В дополнение к ответу @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');
и т. д