key=8;
alpha=1;
count=100;
frr=fopen('file.txt','r');
[msg,count]=fread(frr,'ubit1');
fclose(frr);
data0=imread('testbmp.bmp');
image=data0;
data0=double(data0)/255;
data=data0(:,:,1);
T=dctmtx(8);
DCTrgb=blkproc(data,[8 8],'P1*x*P2',T,T');
[row,col]=size(DCTrgb);
row=floor(row/8);
col=floor(col/8);
a=zeros([row col]);
[k1,k2]=randinterval(a,count,key);
for i=1:count
k1(1,i)=(k1(1,i)-1)*8+1;
k2(1,i)=(k1(1,i)-1)*8+1;
end
temp=0;
for i=1:count
if msg(i,1)==0
if DCTrgb(k1(i)+4,k2(i)+1)>DCTrgb(k1(i)+3,k2(i)+2)
temp=DCTrgb(k1(i)+4,k2(i)+1);
DCTrgb( k1( i) + 4, k2 ( i) + 1) = DCTrgb( k1( i) + 3 , k2( i) + 2) ;
DCTrgb( k1( i) + 3, k2 ( i) + 2) = temp;
end
else
if DCTrgb(k1(i) + 4, k2(i) + 1 ) < DCTrgb(k1(i) + 3, k2(i) + 2)
temp = DCTrgb( k1( i) + 4, k2( i) + 1) ;
DCTrgb(k1(i)+4, k2(i) + 1) = DCTrgb( k1(i)+3 , k2(i)+2) ;
DCTrgb(k1(i)+3, k2(i)+2) = temp;
end
end
if DCTrgb(k1(i)+4,k2(i)+1)>DCTrgb(k1(i)+3,k2(i)+2)
DCTrgb(k1(i)+3,k2(i)+2)=DCTrgb(k1( i)+3 ,k2(i)+2)-alpha;
else
DCTrgb(k1(i)+4, k2(i)+1)=DCTrgb(k1(i)+4, k2(i)+1)-alpha;
end
end
DCTrgb1 = DCTrgb;
data = blkproc( DCTrgb, [ 8 8 ] ,'P1* x* P2', T', T);
result = data0;
result(:,:,1) = data;
imwrite( result, imagegoal) ;
code.zip_site:www.pudn.com
版权申诉
58 浏览量
2022-07-15
04:38:48
上传
评论
收藏 642B ZIP 举报
weixin_42651887
- 粉丝: 82
- 资源: 1万+
最新资源
- 2018年国赛数模相关资料C题
- 2018年国赛数模相关资料D题
- 基于Node.js+MySQL开发的开源微信小程序商城(微信小程序)
- CyberLink ColorDirector Ultra 是一款专业的视频色彩校正与调整软件,旨在帮助用户轻松实现高质量的视频
- 一个x86架构的汇编语言示例,使用NASM(Netwide Assembler)语法
- Abelssoft Recordify 是一款功能强大的音乐录制与管理软件,专为音乐爱好者和用户设计,提供了便捷的音乐录制、下载
- ABB机器人SMB板卡的安装及更换方法.docx
- 创建一个简单的VUE电子商务网站前端,其中包括产品列表、购物车和结账流程
- IMG_0015.jpg
- 《Java面试真题全攻略》.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈