Red de conocimiento informático - Aprendizaje de programación - Programa de cifrado de imágenes y marcas de agua MATLAB

Programa de cifrado de imágenes y marcas de agua MATLAB

Cifrado de imágenes basado en la transformación de Arnold: recuerde escribir un archivo M separado para el programa anotado y colocarlo en la misma ruta

clc;clear;close all;

randoma =input( 'Ingrese el comando de usuario:','s');%

P=randomma;

%P=str2num(P);

if ( P=='*****')

tu=uigetfile();

I=imread(tu);

imshow( tu); continuar;

%imshow('tu');

[M,N,P]=tamaño(I);

rand(' estado', 0);

% randoma=input('Ingrese el comando de usuario:');%

% P=random;

% if ( P== 3.14)

T=96;

R=rand(M,N)*pi*2;

xlswrite('R.xls',R) ;

%kk=xlsread('jjm.xls');%32 43 55 63

a1=input('Por favor escriba a1:');

a2=input('Escriba a2:');

a3=input('Ingrese a3:');

a4=input('Ingrese a4:') ;

kk=[a1,a2,a3,a4];

xlswrite('kk.xls',kk);

%%

I= doble(I);

Es decir=encriptar(I,R,kk);

figura;

imshow( Es decir,[ ]);

%%

%%

%% llama a la imagen cifrada de la función de cifrado

%función Es decir= cifrar (I,R,kk);

%Ir=I(:,:,1);Ig=I(:,:,2);Ib=I(:,:3);< / p>

% [Xr,Xg,Xb]=Tmatrix(Ir,Ig,Ib,R);

% I1r=blkart2a(Xr,kk);I1g=blkart2a(Xg,kk ) ;I1b=blkart2a(Xb,kk);

% I0r=dct2(I1r);I0g=dct2(I1g);I0b=dct2(I1b);

% [X1r , );

% I3r=idct2(I2r);I3g=idct2(I2g);I3b=idct2(I2b);

% Es decir(:Es decir(:,:,1) =I3r;Es decir(:,:,2)=I3g;Es decir(:,:,3)=I3b;

% [Xr,Xg,Xb]=Tmatriz(Ir,Ig,Ib,R );

% Xr=Ir.*cos(R)+Ig.*sin(R).^2-Ib.*sin(R).*cos(R);

%Xg=Ir.*sin(R)+Ig.*sin(R).*cos(R)-Ib.*cos(R).^2;

%Xb=Ig. *cos(R)+Ib.*sin(

R);

a1=input('Ingrese a1:');

a2=input('Ingrese a2:');

a3= input('Ingrese a3:');

a4=input('Ingrese a4:');

kk=[a1,a2,a3,a4]; p>

R=uigetfile();

R=xlsread('R.xls');

%%

Ii=descifrar (Es decir, R, kk);

Ii=Ii- min(Ii(:));Ii=Ii/max(Ii(:));

h = barra de espera( 0, 'Por favor espere...') ;

pasos = 600;

para el paso = 1:pasos

%figure;imshow(Ii,[ ]) ;

barra de espera(paso/pasos)

fin

cerrar(h)

figura;imshow(Ii,[]

h = waitbar(1,'Finalizar descifrado','color','');

pasos = 1;

para el paso = 1 :pasos

h = waitbar(1,'finalizar!',' color','');

end

cerrar(h);

advertencia desactivada

fin

%%

%%% Descifre la imagen y llame a la función de descifrado

% %% función J=decrypt(Ie,R.kk);

% T=96; % Periodo de transformación de Arnold

% J2r=Ie(:,:,1);J2g =Es decir (:,:,2);J2b=Es decir(:,:,3);

% J2r=dct2(J2r);J2g=dct2(J2g);J2b =dct2(J2b);

% Y1r=blkart2a(J2r,T-kk);Y1g=blkart2a(J2g,T-kk);Y1b=blkart2a(J2b,T-kk);

% [ J0r, J0g,J0b]=iTmatrix(Y1r,Y1g,Y1b,R);

% J1r=idct2(J0r);J1g=idct2(J0g);J1b=idct2(J0b);

% Yr=blkart2a(J1r,T-kk);Yg=blkart2a(J1g,T-kk);Yb=blkart2a(J1b,T-kk);

% [Jr,Jg); ,Jb ]=iTmatrix(Yr,Yg,Yb,R);

% J(:,:,1)=Jr;J(:,:,2)=Jg;J(:,: ,3 )=Jb;