Steganografia


Steganografia w Matlabie (kiedyś będzie szerszy opis). Kod zoptymalizowany pod Matlaba; nie będzie działał z Octave (osobny skrypt w odpowiednim dziale niedługo zostanie wstawiony).

 

[pictureone, user_canceled1] = imgetfile;[picturetwo, user_canceled2] = imgetfile;width = 640;if (user_canceled1 || user_canceled2)    fprintf('nAnulowales wybieranie plikow do porownania!n')else    %Opening both files    Aread = imread(pictureone);    Bread = imread(picturetwo);        %Dithering    [Bwidth Bheight Bplanes] = size(Bread);    if (Bplanes > 1)        Br = dither(Bread(:,:,1));        Bg = dither(Bread(:,:,2));        Bb = dither(Bread(:,:,3));        Bmono = cat(3, Br, Bg, Bb);    else        Bi = dither(Bread);        Bmono = cat(3, Bi, Bi, Bi);    end     %resizing pictures    A = imresize(Aread,[width*size(Aread,1)/size(Aread,2) width]);    B = imresize(Bmono,[width*size(Bmono,1)/size(Bmono,2) width]);    Bsource = imresize(Bread,[width*size(Bread,1)/size(Bread,2) width]);        %RGB pseudo-BW fix (only for display)    Bmono = B;    B = B * 255;        %Steganography itself    Anew = bitor(bitand(A, 254),uint8(Bmono));    Astegano = bitand(Anew, 1);    %Results    imshow([Anew Bsource; Astegano (255*Astegano)])    pause;    imshow(255*Astegano)end

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *