2017-03-03 71 views
0

我從瀏覽器中選擇了多個框架。它在視頻隱寫術中完美地作爲我的項目的封面文件。如何在Matlab中保存多個圖像?

將文本嵌入到封面幀(多幀)後,我想將這些幀保存爲隱藏圖像,但在我的情況下,它只保存最後一張圖像。

下面是代碼:

[fn, pn,fi] = uigetfile('*.jpg*','Select the Cover Image','Multiselect','on'); 

coln=size(fn); 

numberfile=coln; 

for i=1:numberfile 

    fn(i); 

    entirefile=fullfile(pn,fn{i}); 

    fid=fopen(entirefile); 

    fclose(fid); 
end 

I = imread([pn,fn{i}]); 

pix=I(:); 

J = reshape(pix,size(I)); 

%till here is working fine 

%this code below it problem when I save Stego image it save only last image 

[fn, pn] = uiputfile('*.png', 'Save Stego Image'); 

imwrite(J,[pn,'\',fn],'png'); 
+0

嘗試重新設置和重新格式化您的答案,目前它很不清楚你想要做什麼。 – Wolfie

回答

0

你可以申請在for循環保存操作如下:

[fn, pn,fi] = uigetfile('.jpg','Select the Cover Image','Multiselect','on'); 

coln = size(fn, 2); 

numberfile = coln; 

for i = 1:numberfile 
    fn(i); 

    entirefile = fullfile(pn, fn{i}); 

    fid = fopen(entirefile); 

    fclose(fid); 
end 

for i = 1:numberfile 
    I = imread([pn, fn{i}]); 

    pix = I(:); 

    J = reshape(pix, size(I)); 

    [out_fn, out_pn] = uiputfile('*.png', 'Save Stego Image'); 

    imwrite(J, [out_pn, '\', out_fn], 'png'); 
end 

注:
我代替:

[fn, pn] = uiputfile('*.png', 'Save Stego Image');` 

有了:

[out_fn, out_pn] = uiputfile('*.png', 'Save Stego Image'); 

你要保持(未覆蓋)fnpn從閱讀階段。

+0

謝謝先生,它工作完美...... –

+0

主席先生,我想保存此特定文件夾中的Stego圖像並自動保存所有具有不同編號或名稱的幀(例如1.png,2.png,3 .png ........會自動保存,不用手動輸入文件名) –

+0

你可以設置文件名如下:'file_name = [sum2str(i),'.png'];' – Rotem

相關問題