2014-10-07 4 views
1

Я хочу задать довольно простой вопрос. Я пишу функцию преобразования необработанного изображения в bmp. Имя функции: raw2bmp() Теперь скажите, что я хочу работать с файлом LENA.raw, поэтому я ввожу свою функцию raw2bmp('LENA.raw'). Моя функция создает выходное изображение bmp. Я хочу это имя LENA.raw.bmp. Итак, вопрос в том, как получить имя файла в виде массива символов?форматирование строки в MATLAB

ответ

0

Я уже нашел ответ. Может быть, это будет полезно для кого-то

function [img1] = raw2bmp (in_file);

out_name = [in_file '.bmp'];

2

Вы можете использовать sprintf() для форматирования строки, например:

file_to_save = sprintf('%s.bmp', input_file); 

Затем вы можете сохранить результат в file_to_save.

+0

Я просто разместил проще. Извините за беспокойство. –

+0

@MykolaServetnyk Я предпочитаю использовать 'sprintf()', особенно когда мне нужно, чтобы мое имя файла было 'file_0005.bmp', тогда я могу просто использовать' sprintf ('file_% 04d.bmp', 5) '. – herohuyongtao

2
function raw2bmp(name) 
    fid=fopen(name); 
    rawdata=fread(fid); 
    %do the conversion of rawdata and save it to bmpdata 
    newname=[name '.bmp']; 
    imwrite(bmpdata,newname,'bmp'); 
end 

Затем вызывается функция

raw2bmp('LENA.raw') 

, который сохраняет изображение в формате BMP под '' LENA.raw.bmp

Смежные вопросы