]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
1d834efc7c817dec4ae0906b648d21a72be09e11
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / matlab / ex_stc.m
1 clc; clear;\r
2 \r
3 n = 10^3;    % size of the cover\r
4 alpha = 0.5; % relative payload\r
5 h = 8;      % constraint height - default is 10 - drives the complexity/quality tradeof\r
6 \r
7 cover = uint8(rand(n, 1));\r
8 m = round(n * alpha); % number of message bits\r
9 message = uint8(rand(m, 1));\r
10 profile = ones(n, 1);\r
11 \r
12 tic;\r
13 [dist, stego] = stc_embed(cover, message, profile, h); % embed message\r
14 \r
15 fprintf('distortion per cover element = %f\n', dist / n);\r
16 fprintf('        embedding efficiency = %f\n', alpha / (dist / n));\r
17 fprintf('                  throughput = %1.1f Kbits/sec\n', n / toc() / 1024);\r
18 \r
19 message2 = stc_extract(stego, m, h); % extract message\r
20 if all(message == message2)\r
21     disp('Message has been extracted correctly.');\r
22 else\r
23     error('Some error occured in the extraction process.');\r
24 end\r