资源简介

基于GS算法的全息数字水印MATLAB编译包涵图像和源代码。

资源截图

代码片段和文件信息

function hologram_img = FuncFourierHologrambasedGSAlgorithm(watermark_img)
%% 本函数实现基于GS算法的Fourier全息图生成
% 1 说明:
%       本函数实现基于GS迭代的Fourier全息图生成算法,该算法的目的是将输入的幅值相位信号转化为全息图
% 2 算法流程:
%       step-1:使用GS迭代算法估计出水印图像的相位
% 3 参数说明:
%       src_model - 输入的原始数据,复数数据,表示幅值和相位
%       hologram_img - 输出的全息图像
% 4 说明:

%% 首先调用GS算法函数估计出水印图像的相位
% 注意:在原始的fourier全息图生成算法中,水印图像只有幅值,其相位是随机生成得到的。而这里是采用GS算法,估计出水印图像的相位。这是这个方法与原始的fourier全息图生成算法的区别
watermark_img_model = FuncGerchbergSaxtonAlgorithm(watermark_img);

%% 定义模拟参考光波:该参考光波用于模拟全息图的生成
% 注意:在全息图的生成和解析中,均需要使用该参考光波,因此这里统一使用公用的接口生成参考光波信号
R = FuncGenerateRefWave(size(watermark_img1) size(watermark_img2));

%% 对相位调制之后的水印图像进行FFT
watermark_img_model_freq = fft2(watermark_img_model);

%% 计算全息图像
hologram_img = conj(watermark_img_model_freq) .* R + watermark_img_model_freq .* conj(R);
hologram_img = real(hologram_img);  % 虚部全为0

% 归一化
hologram_img = hologram_img / max(hologram_img(:));

end


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     494030  2014-11-12 16:16  code\barbara.bmp

     文件       1268  2018-05-12 19:11  code\FuncFourierHologrambasedGSAlgorithm.m

     文件        703  2018-05-12 19:45  code\FuncFourierHologramReconstruction.m

     文件        515  2018-05-12 18:54  code\FuncGenerateRefWave.m

     文件       3162  2018-05-21 10:34  code\FuncGerchbergSaxtonAlgorithm.m

     文件       1551  2018-05-15 01:01  code\FuncImageExtractWatermark.m

     文件       3758  2018-05-15 01:01  code\FuncImageWatermark.m

     文件     786486  2014-11-12 16:16  code\lena.bmp

     文件       1746  2018-05-21 15:13  code\main.m

     文件     109922  2018-05-12 18:38  code\watermark.bmp

     目录          0  2018-05-12 19:46  code

----------- ---------  ---------- -----  ----

              1403141                    11


评论

共有 条评论