function hide()
mm=input('please input the lock password:');
B=imread('E:\chan\mat\gh7.jpg','jpg');
imshow(B);pause;close;
[Bx,By,Bz]=size(B);
CC=imread('E:\chan\mat\wsq.bmp','bmp');
imshow(CC);pause;close;
[Cx,Cy,Cz]=size(CC);
%%密码分解
m(1)=fix(mm/1000);
m(2)=fix((mm-m(1)*1000)/100);
m(3)=fix((mm-m(1)*1000-m(2)*100)/10);
m(4)=mm-m(1)*1000-m(2)*100-m(3)*10;
m=m.*10
%%构建C
for i=8:5
C(i)=bitget(CC,i);
C1=zeros(Cx,m(9-i),Bz);
C(i)=[C1,C(i)];
C2=zeros(m(9-i),m(9-i)+Cy,Bz);
C(i)=[C2;C(i)];
CC1=zeros(Bx-Cx-m(9-i),Cy+m(9-i),Bz);
C(i)=[C(i);CC1];
CC2=zeros(Bx,By-Cy-m(9-i),Bz);
C(i)=[C(i),CC2].*2^i;
C(i)=uint8(C(i));
imshow(C(i));pause;close;
end
%%隐藏
D=bitand(B,240);
for i=1:4
bb(i)=bitget(B,i);
bb(i,((m(i)+1):(m(i)+Cx)),((m(i)+1):(m(i)+Cy)),1:Bz)=bitand(bb(i,((m(i)+1):(m(i)+Cx)),((m(i)+1):(m(i)+Cy)),1:Bz),240);
c=bitshift(bitand(C(9-i),240),-4);
DD(i)=bitor(b,c);
D=D+DD(i).*2^i;
end
imshow(D);pause;close;
imwrite(D,'E:\chan\mat\d.bmp')
D=imread('E:\chan\mat\d.bmp','bmp');
%%输解码
n=input('please input the unlock password:');
for i=1:100000
if n==m
break
else
sprintf('put the wrong unlock password!!!')
n=input('please input the correct unlock password:');
end
end
%%提取
n1=fix(n/100);
n2=n-(fix(n/100))*100;
U=bitshift((bitand(D,15)),4);
U=U((n1+1):(n1+Cx),(n2+1):(n2+Cy),1:Cz);
imwrite(U,'E:\chan\mat\e.bmp')
imshow(U);pause;close;
sprintf('ok')
flw.rar_图像 隐藏_图像隐藏
版权申诉
4 浏览量
2022-07-13
21:23:01
上传
评论
收藏 2KB RAR 举报
局外狗
- 粉丝: 66
- 资源: 1万+
最新资源
- (大赛作品)STM32实现的F072RB NUCLEO智能家居控制.zip
- STM32实现的数字示波器源码+数字信号处理教程、配套实例.zip
- 【cookie续续】【cookie续续】【cookie续续】
- 低功耗STM32实现的F411开发板(原理图+PCB源文件+官方例程+驱动等).zip
- 基于stm32实现的 nucleo-L476的智能灯(操作说明+源码).zip
- 基于STM32实现的 NUCLEO板设计彩色LED照明灯(纯cubeMX开发).zip
- 基于STM32实现的 的联合调试侦听设备解决方案(原理图、PCB源文件、调试工具、视频).zip
- 基于STM32实现的 人群定位、调速智能风扇设计(程序、设计报告、视频演示).zip
- 哔哩下载姬(DownKyi)
- 千纬认字app再次更新,增加部首、笔画动画功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈