資源簡介
nsf5隱寫方法代碼,matlab實現的,對于想學習隱寫方法的同學很有用。

代碼片段和文件信息
function?[nzACembedding_efficiencychanges]?=?nsf5_simulation(COVERSTEGOALPHASEED)
%?-------------------------------------------------------------------------
%?Contact:?jan@kodovsky.com?|?June?2011
%?-------------------------------------------------------------------------
%?This?program?simulates?the?embedding?impact?of?the?steganographic
%?algorithm?nsF5?[1]?as?if?the?best?possible?coding?was?used.?Please?visit
%?the?webpage?http://dde.binghamton.edu/download/nsf5simulator?for?more
%?information.
%?-------------------------------------------------------------------------
%?Input:
%??COVER?-?cover?image?(grayscale?JPEG?image)
%??STEGO?-?resulting?stego?image?that?will?be?created
%??ALPHA?-?relative?payload?in?terms?of?bits?per?nonzero?AC?DCT?coefficient
%??SEED?-?PRNG?seed?for?the?random?walk?over?the?coefficients
%?Output:
%??nzAC?-?number?of?nonzero?AC?DCT?coefficients?in?the?cover?image
%??embedding_efficiency?-?bound?on?embedding?efficiency?used?for?simulation
%??changes?-?number?of?changes?made
%?-------------------------------------------------------------------------
%?References:
%?[1]?J.?Fridrich?T.?Pevny?and?J.?Kodovsky?Statistically?undetectable
%?????JPEG?steganography:?Dead?ends?challenges?and?opportunities.?In?J.
%?????Dittmann?and?J.?Fridrich?editors?Proceedings?of?the?9th?ACM
%?????Multimedia?&?Security?Workshop?pages?3-14?Dallas?TX?September
%?????20-21?2007.
%?-------------------------------------------------------------------------
%?Note:?The?program?requires?Phil?Sallee‘s?MATLAB?JPEG?toolbox?available?at
%?http://www.philsallee.com/
%?-------------------------------------------------------------------------
%%%?load?the?cover?image
try
????jobj?=?jpeg_read(COVER);?%?JPEG?image?structure
????DCT?=?jobj.coef_arrays{1};?%?DCT?plane
catch
????error(‘ERROR?(problem?with?the?cover?image)‘);
end
if?ALPHA>0
????%%%?embedding?simulation
????embedding_efficiency?=?ALPHA/invH(ALPHA);??%?bound?on?embedding?efficiency
????nzAC?=?nnz(DCT)-nnz(DCT(1:8:end1:8:end));?%?number?of?nonzero?AC?DCT?coefficients
????changes?=?ceil(ALPHA*nzAC/embedding_efficiency);?%?number?of?changes?nsF5?would?make?on?bound
????changeable?=?(DCT~=0);?%?mask?of?all?nonzero?DCT?coefficients?in?the?image
????changeable(1:8:end1:8:end)?=?false;?%?do?not?embed?into?DC?modes
????changeable?=?find(changeable);?%?indexes?of?the?changeable?coefficients
????rand(‘state‘SEED);?%?initialize?PRNG?using?given?SEED
????changeable?=?changeable(randperm(nzAC));?%?create?a?pseudorandom?walk?over?nonzero?AC?coefficients
????to_be_changed?=?changeable(1:changes);?%?coefficients?to?be?changed
????DCT(to_be_changed)?=?DCT(to_be_changed)-sign(DCT(to_be_changed));?%?decrease?the?absolute?value?of?the?coefficients?to?be?changed
end
%%%?save?the?resulting?stego?image
try
????jobj.coef_arrays{1}?=?DCT;
????jobj.optimize_coding?=?1;
????jpeg_write(jobjSTEGO);
catch
????error(‘ERROR?(problem?with?saving?the?st
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-06-20?15:09??nsf5_simulation\
?????文件???????43401??2011-05-12?11:56??nsf5_simulation\cover.jpg
?????文件???????17765??2005-06-01?11:46??nsf5_simulation\jpeg_read.mexa64
?????文件???????65536??2007-02-14?10:31??nsf5_simulation\jpeg_read.mexw32
?????文件???????17263??2006-09-28?00:28??nsf5_simulation\jpeg_write.mexa64
?????文件???????57344??2006-09-28?00:28??nsf5_simulation\jpeg_write.mexw32
?????文件????????3245??2011-06-20?15:09??nsf5_simulation\nsf5_simulation.m
?????文件?????????816??2011-06-19?22:35??nsf5_simulation\test.m
- 上一篇:matlab中滑動窗口實現
- 下一篇:LSB匹配隱寫代碼
評論
共有 條評論