# pdlctte.rar

• Elrlr
了解作者
• matlab
开发工具
• 2KB
文件大小
• rar
文件格式
• 0
收藏次数
• 1 积分
下载积分
• 1
下载次数
• 2017-05-19 08:27
上传日期

pdlctte.rar
• 2phase_extract.m
4.8KB
• Vphase_embed.m
8.6KB

function Angle = phase_embed(I,W) % embed wm basd on phase I=imread('lena256.bmp'); subplot(121),imshow(I); W=randn(1,12); save W W %load W W s2=size(W); % Angle_blk=blkproc(I,[8 8],'dct2'); % Angle_blk1=Angle_blk(1:32,1:32); FFT=fftshift(fft2(single(I))); A=angle(FFT); M=abs(FFT); s1=size(I); m=ceil(s1(1)/2)+1; n=ceil(s1(2)/2)+1; R1=ceil(m/5); R2=R1+s2(2); flat(s1(1),s1(2))=0; r=R1; k=1; while(k<=s2(2)) for i=1:32 for j=1:32 if i==m&&j==n for x=-r:0 % the fist 1/4 yuan,phase embed for y=0:r if A(i,j)>=0 if (x^2+y^2==r^2) if flat(i+x,j+y)==0 mm=fix(A(i+x,j+y)/(A(i+y,j-x)*0.5)); m=mod(mm,2); if W(k)==1 if m==1 A(i+x,j+y)=mm*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; else % m is even A(i+x,j+y)=(mm+1)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; end end if W(k)==-1 if m==1 A(i+x,j-y)=(mm+1)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; else A(i+x,j+y)=mm*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; end end end else continue; end % (x^2+y^2==r^2) else % A(i,j)<0 if (x^2+y^2==r^2) if flat(i+x,j+y)==0 mm=fix(A(i+x,j+y)/(A(i+y,j-x)*0.5)); m=mod(mm,2); if W(k)==1 if m==1 A(i+x,j+y)=(-mm)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; else A(i+x,j+y)=(-mm-1)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; end end if W(k)==-1 if m==1 A(i+x,j+y)=(-mm-1)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; else A(i+x,j+y)=(-mm)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; end end end else %(x^2+y^2==r^2) continue; end end %A(i,j)>=0 end end for x=r:-1:0 % the 3/4 yuan ,phase embed for y=0:-1:-r if A(i,j)>=0 if x^2+y^2==r^2 if flat(i+x,j+y)==0 mm=fix(A(i+x,j+y)/(A(i+y,j-x)*0.5)); m=mod(mm,2); if W(k)==1 if mm==1 A(i+x,j+y)=mm*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; else A(i+x,j+y)=(mm+1)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; end end if W(k)==-1 if mm==1 A(i+x,j+y)=-(mm)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; else A(i+x,j+y)=(-mm-1)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; end end end %flat(i+x,j+y)==0 else continue; end else % A(i,j)<0 if (x^2+y^2==r^2) if flat(i+x,j+y)==0 mm=fix(A(i+x,j+y)/(A(i+y,j-x)*0.5)); m=mod(mm,2); if W(k)==1 if m==1 A(i+x,j+y)=(-mm)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; else A(i+x,j+y)=(-mm-1)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; end end if W(k)==-1 if m==1 A(i+x,j+y)=(-mm-1)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; else A(i+x,j+y)=(-mm)*A(i+y,j-x)*0.5; flat(i+x,j+y)=1; flat(i+y,j-x)=1; end end end else %(x^2+y^2==r^2) continue; end end %A(i,j)<0 end end else continue; end end end r=r+1; k=k+1; end %重构原图象 for i=1:s1

相关推荐
• WaterMarkDemo.rar
Matlab DFT+QIM水印 提取嵌入全过程
• szsy.rar
傅里叶数字水印算法实现，含有源码以及说明书
• embed.rar
基于FFT的数字图像水印技术，数字图像水印嵌入
• ctdftembed.rar
利用分块和随机序列的基于contourlet及DFT的水印嵌入算法
• watermark.rar
基于离散傅里叶变换域图像数字水印研究与仿真
• 图像数字水印
可直接运行的数字图像水印嵌入的matlab代码，简单易懂，绝对实用
• witeymarking.rar
这是本人自己遍的matlab程序,即对做过fft变换的相位嵌入水印的程序,
• 788605.rar
这是本人自己遍的matlab程序,即对做过fft变换的相位嵌入水印的程序,
• 基于傅立叶变换的数字水印嵌入技术
基于matlab平台完成，基于傅立叶变换的数字水印嵌入技术源码。可供参考。
• codesforimageprocessing.rar
实现简单图像处理，包括256色转灰度图、Hough变换、Walsh变换、中值滤波、二值化变换、亮度增减、傅立叶变换、反色、取对数、取指数、图像平移、图像旋转、图像细化、图像缩放、图像镜像、均值滤波、对比度拉伸、拉普拉斯锐化（边缘检测）、方块编码、梯度锐化、灰度均衡、直方图均衡、离散余弦变换、维纳滤波处理、逆滤波处理、阈值变换、高斯平滑。