Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
游客
帖子: n/a
|
![]()
各位好,這是我在網路上找到的一份浮水印的程式碼,但是不太了解程式的意思,我最想知道此matlab程式所藏浮水印的位置,還有浮水印為什麼要使用一階小波分解呢??而原始影像用2階小波轉換??請各位大大,如果知道可否幫我解答一下,拜託你們了,我很急著知道,謝謝您們。
lena=imread('lena.bmp','bmp'); subplot(2,2,1); imshow(lena); title('原图像'); bict=imread('bict.bmp','bmp'); subplot(2,2,2); imshow(bict); title('水印图像'); lena1=double(lena); bict1=double(bict); [Cwr,Swr]=WAVEDEC2(bict1,1,'haar'); [Cr,Sr]=WAVEDEC2(lena1,2,'haar'); a=0.06; for k=0:1:size(Cr,2)/size(Cwr,2)-1 Cr(1+size(Cr,2)/4+k*size(Cwr,2)/4:size(Cr,2)/4+(k+1)*size(Cwr,2)/4)=Cr(1+size(Cr,2)/4+k*size(Cwr,2)/4:size(Cr,2)/4+(k+1)*size(Cwr,2)/4)+a*Cwr(1+size(Cwr,2)/4:size(Cwr,2)/2); Cr(1+size(Cr,2)/2+k*size(Cwr,2)/4:size(Cr,2)/2+(k+1)*size(Cwr,2)/4)=Cr(1+size(Cr,2)/2+k*size(Cwr,2)/4:size(Cr,2)/2+(k+1)*size(Cwr,2)/4)+a*Cwr(1+size(Cwr,2)/2:3*size(Cwr,2)/4); Cr(1+3*size(Cr,2)/4+k*size(Cwr,2)/4:3*size(Cr,2)/4+(k+1)*size(Cwr,2)/4)=Cr(1+3*size(Cr,2)/4+k*size(Cwr,2)/4:3*size(Cr,2)/4+(k+1)*size(Cwr,2)/4)+a*Cwr(1+3*size(Cwr,2)/4:size(Cwr,2)); end; Cr(1:size(Cwr,2)/4)=Cr(1:size(Cwr,2)/4)+a*Cwr(1:size(Cwr,2)/4); lena1=WAVEREC2(Cr,Sr,'haar'); output=uint8(round(lena1)); subplot(2,2,3);imshow(output,[]); title('嵌入水印后的图像'); J1=imnoise(output,'salt & pepper',0.04); subplot(2,2,4);imshow(J1);title('加椒盐噪声后的图像'); [Ca,Sa]=WAVEDEC2(lena1,2,'haar'); lena0=imread('lena.bmp','bmp'); lena01=double(lena0(:,:,1)); [Ca1,Sa1]=WAVEDEC2(lena01,2,'haar'); Cwr(1:size(Cwr,2)/4)=(Ca(1:size(Cwr,2)/4)-Ca1(1:size(Cwr,2)/4))/a; bict1=WAVEREC2(Cwr,Swr,'haar'); output=uint8(round(bict1)); figure,subplot(2,2,1); imshow(output,[]);title('提取的水印图像'); |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]两个图像如何相乘? | Jael | MATLAB论坛 | 4 | 2013-09-22 15:10 |
[求助]关于动态博弈的仿真研究 | pp75557 | MATLAB论坛 | 3 | 2010-07-09 18:23 |
Matlab声音合成和滤波的问题【附代码-自己写的】 | xmuer | MATLAB论坛 | 4 | 2008-12-17 08:58 |
[求助]一个有关用设计的滤波器处理声音信号的问题。 | fujinhai | MATLAB论坛 | 7 | 2008-11-13 09:31 |