2017-03-03 29 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');` 
を あなたは読書段階から(上書きしない) fnpnを維持したい

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

:付き

+0

ありがとうございました。 –

+0

私はこのStego画像を特定のフォルダに保存し、ファイル名を自動的に別の番号または名前のフレームに保存したいと思います(たとえば、1.png、2.png、3 .png ........自動でファイル名を入力せずに保存されます) –

+0

ファイル名は次のように設定できます: 'file_name = [sum2str(i)、 '.png'];' – Rotem

関連する問題