数字水印matlab程序

数字水印matlab程序

ID:19838469

大小:43.09 KB

页数:21页

时间:2018-10-06

数字水印matlab程序_第1页
数字水印matlab程序_第2页
数字水印matlab程序_第3页
数字水印matlab程序_第4页
数字水印matlab程序_第5页
资源描述:

《数字水印matlab程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、clearall;closeall;clc;V=double(imread('D:lenalena.jpg'));imshow(mat2gray(V));[iu]=size(V);%计算V的规格r=100;%设置分解矩阵的秩W=rand(i,r)%初始化WH,为非负数H=rand(r,u)maviter=100;%最大迭代次数foriter=1:maviterW=W.*((V./(W*H))*H');%注意这里的三个公式和文中的是对应的W=W./(ones(i,1)*sum(W));H=H.*(W'*(V./(W*H)));endimg_V=W

2、*H;figure;imshow(mat2gray(img_V));首先读入原始图象并设置参数,然后嵌入水印信息,程序代码如下:clear%size=256;block=8;blockno=size/block;LENGTH=size*size/64;Alpha1=0.02;  Alpha2=0.1;T1=3;I=zeros(size,size);D=zeros(size,size);BW=zeros(size,size);block_dct1=zeros(block,block); %产生水印序列并对其排序randn('seed',10);wat

3、ermark1=randn(1,LENGTH);subplot(2,2,1);plot(watermark1);title('watermarc:Gaussiannoise');subplot(2,2,3);title('edgeoforigineimage')[Y0,I0]=sort(watermark1);%%读入原图象trueImage=imread('H:DocumentsandSettingssunhwMyDocumentsMyPicturesbiaozhun.bmp');alfa=.1;LENGTH=2500;subplot(

4、2,2,2);imshow(trueImage);title('origineimage:I');%%对原图象进行DCT变换dctF1=dct2('H:DocumentsandSettingssunhwMyDocumentsMyPicturesbiaozhun.bmp');[m,n]=size(dctF1);%%找出水印嵌入位置(幅值较大的n个频域成分)A=dctF1(:);[Y1,I1]=sort(A);x=m*n;k=LENGTH;M=zeros(x,1);%%修改幅值较大的n个频域成分的幅值,嵌入水印(因为两个问题不同,所以有两个注

5、释符)fori=1:x   ifk>=1    M(x)=Y1(x)*(1+alfa*Y0(k));    k=k-1;   else    M(x)=Y1(x);   end   x=x-1;endN=zeros(x,1);x=m*n;fori=1:x    N(I1(i))=M(i);enda=1;forj=1:n  fori=1:m    dctF2(i,j)=N(a);    a=a+1;  endend%%DCT反变换,得到嵌入水印的图象idctF1=idct2(dctF2);subplot(2,2,4);imshow(log(abs(i

6、dctF1)),[]);title('embededimage:D');%endI=imread('D:lena1.jpg');disp(I);I=double(I)/255; disp(I);I=ceil(I);%%%%%%%%%%显示水印图像%%%%%%%%%%%%%figure(1);subplot(2,3,1);imshow(I),title('水印图像')dimI=size(I);rm=dimI(1);cm=dimI(2);%%%%%%%%%%%%%%%5  以下生成水印信息%%mark=I;alpha=0.05;V=imread('

7、D:lenalena.jpg');[iu]=size(V);%计算V的规格r=100;%设置分解矩阵的秩W=rand(i,r)%初始化WH,为非负数H=rand(r,u)maviter=100;%最大迭代次数foriter=1:maviterW=W.*((V./(W*H))*H');%注意这里的三个公式和文中的是对应的W=W./(ones(i,1)*sum(W));H=H.*(W'*(V./(W*H)));endk1=H;psnr_cover=double(V);subplot(2,3,2),imshow(a0,[]),title('载体图像'

8、);[r,c]=size(a0);cda0=blkproc(a0,[8,8],'dct2');%%%%%%%%%%%%%%

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。