⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhanggcd.m

📁 这么代码是用Matlab编写的
💻 M
字号:
clear all;

Ximage=double(imread('C:\Documents and Settings\xdjsj\My Documents\zyh\program\test2.jpg'));
Yimage=double(imread('C:\Documents and Settings\xdjsj\My Documents\zyh\program\Monkey.jpg'));
Ih=size(Ximage,1);%图像的长度
Iw=size(Ximage,2);%图像的宽度
Image=double(zeros(size(Ximage)));
Image=Ximage;
s=3;
renewing=0;
hiding=0;
%隐藏
% key1=4;
key2=0.9;

for(t=1:s)
figure(t)
subplot(3,2,1)
imshow(Image,[]);
title('待隐藏图像');
Image=uint8(Image);
figure(t)
subplot(3,2,2)
imhist(Image);
title('待隐藏图像的直方图');
Image=double(Image);
figure(t)
subplot(3,2,3)
imshow(Yimage,[]);
title('模板图像');
Yimage=uint8(Yimage);
figure(t)
subplot(3,2,4)
imhist(Yimage);
title('模板图像的直方图');
Yimage=double(Yimage);

for(i=1:Ih)
        for(j=1:Iw)
%           key2=(key1*key2*(1-key2)); 
% 
%             if( key2< 0.001)
%                 key2=key2+0.1;
                Image(i,j)=mod(key2*(Image(i,j)-Yimage(i,j))+Yimage(i,j),256);
%             else
%                 Image(i,j)=mod(key2*(Image(i,j)-Yimage(i,j))/2+Yimage(i,j),256);
%             end
%              

        end
end
figure(t)
subplot(3,2,5)
imshow(Image,[]);
title('结果图像');
Image=uint8(Image);
figure(t)
subplot(3,2,6)
imhist(Image);
title('结果图像的直方图');
Image=double(Image);
end

for(i=1:Ih)
        for(j=1:Iw)
            if(Image(i,j)~=Yimage(i,j))
                hiding=hiding+(Image(i,j)-Yimage(i,j))^2;
            end
        end
    end
    
   hiding=hiding/(Ih*Iw);
   hiding=hiding^(1/2);
% %恢复
% key1=4;
% key2=0.1;
% % 
% 
% for(t=1:s)
% figure(t+s)
% subplot(3,2,1)
% imshow(Image,[]);
% title('结果图像');
% Image=uint8(Image);
% figure(t+s)
% subplot(3,2,2)
% imhist(Image);
% title('结果图像的直方图');
% Image=double(Image);
% figure(t+s)
% subplot(3,2,3)
% imshow(Yimage,[]);
% title('模板图像');
% Yimage=uint8(Yimage);
% figure(t+s)
% subplot(3,2,4)
% imhist(Yimage);
% title('模板图像的直方图');
% Yimage=double(Yimage);
% key=0;
% %  key3=0;
% %  key2=(key1+((key1)^2-key2*4*key1)^(1/2))/(2*key1);
% %   key3=(key1-((key1)^2-key2*4*key1)^(1/2))/(2*key1);
% %  
%  
% for(i=1:Ih)
%        for(j=1:Iw)
%          key2=(key1*key2*(1-key2))/2;
%             if( key2< 0.001)
%                 key2=key2+0.1;
%                 key=2/key2;
%                Image(i,j)=mod(key*(Image(i,j)-Yimage(i,j))+Yimage(i,j),256);
%             else
%                 key=1/key2;
%                 Image(i,j)=mod(key*(Image(i,j)-Yimage(i,j))+Yimage(i,j),256);
%             end 
%             
% 
%            %    
%         end
%   end
% figure(t+s)
% subplot(3,2,5)
% imshow(Image,[]);
% title('恢复图像');
% Image=uint8(Image);
% figure(t+s)
% subplot(3,2,6)
% imhist(Image);
% title('恢复图像的直方图');
% Image=double(Image);
% end
% 
% 
% for(i=1:Ih)
%         for(j=1:Iw)
%             if(Image(i,j)~=Ximage(i,j))
%                 renewing=renewing+(Image(i,j)-Ximage(i,j))^2;
%             end
%         end
%     end
%     
%    renewing=renewing/(Ih*Iw);
%    renewing=renewing^(1/2);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -