dwt水印原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

彩色水印嵌入的具体步骤

(1)分别对彩色的宿主图像和水印图像进行降维处理[11],提取各自的RGB值,这样原来的三维数组就变成了三个独立的二维数组。

(2)对宿主图像的三个二维数组分别进行二级小波分解,之后对数字水印的三个二维数组进行一级小波分解。

(3)设定三个水印图像的RGB嵌入系数,并设定嵌入规则,按此规则将水印图像分别嵌入到宿主图像中。

(4)对嵌入后图像进行小波系数重构,得到新图像的RGB一维分量。

(5)最后经过RGB分量合成,得到含水印的彩色图像。

(1)原始图像和水印图像如图5-2所示,均为BMP格式。之后分别对两幅图像进行降维处理,提取各自的RGB的值,将三维数组变成三个独立的二维数组并显示。部分程序语句如下:

input=imread('image.bmp');

imshow(RGB(:,:,1));

Title(’r分量’);

(2)利用多维小波分解函数Wavedec2()对宿主图像的RGB二维分量分别进行2级小波分解,同样对彩色水印图像的RGB分量进行1级小波分解。部分程序如下:

[Cwr,Swr]=wavedec2(waterr,1,'haar');

[Cr,Sr]=wavedec2(inputr,2,'haar');

(3)设定三个水印图像的RGB分量的嵌入系数,利用线性嵌入规则将水印图像分量分别嵌入宿主图像的数组之中。部分程序如下:

Cr(1:size(Cwr,2)/16)=...

Cr(1:size(Cwr,2)/16)+r*Cwr(1:size(Cwr,2)/16);

(4)利用函数Wavedec2()对嵌入后的RGB分量进行小波系数重构,得到新图像的RGB分量。

(5)最后经过RGB分量的在合成得到嵌入水印后的图像。部分程序如下:

temp=size(inputr);

pic=zeros(temp(1),temp(2),3);

for i=1:temp(1);

for j=1:temp(2);

pic(i,j,1)=inputr(i,j);

pic(i,j,2)=inputg(i,j);

pic(i,j,3)=inputb(i,j);

彩色水印提取的具体步骤

(1)分别对彩色的宿主图像和检测图像进行降维处理,提取各自的RGB值,则原来的三维数组就变成三个二维数组。

(2)对各自的三个独立二维数组进行二级小波分解。

(3)按照嵌入规则的逆变换和三种分量的嵌入强度,得到RGB 三种颜色的小波系数。

(4)将RGB 三种颜色按小波系数进行重构。 (5)将RGB 三种颜色进行合成得到水印图像。

RGB 彩色水印图像的提取实验步骤:

(1)将原始宿主图像和待检测图像分别进行RGB 三色分离。 (2)对于每一种分量,对两幅图像分别进行小波分解。 [Cwr,Swr]=WAVEDEC2(watermarked_imager,2,'haar'); [Cr,Sr]=WAVEDEC2(inputr,2,'haar');

(3)按照嵌入规则的逆变换和三种分量的嵌入强度,得到RGB 三种颜色的小波系数。

(4)将RGB 三种颜色按照小波系数分别进行小波重构。 wr=waverec2(cwr,swr,'haar'); wg=waverec2(cwg,swg,'haar'); wb=waverec2(cwb,swb,'haar');

(5)将RGB 三种颜色进行合成得到水印图像。

(1)嵌入算法框图及实现过程

(2)提取算法框图如图6-3

彩色RGB 载体图像 分解出RGB 各个分量

RGB 各分量二级小波变换

水印图像

分解出RGB 各个分量

系数重构

图像重构

三色叠加

RGB 各分量一级小波变换

含水印图像

含水印图像 原始

载体

图像

RGB 二

级小波分解

提取水印的小波系数

分解出RGB 三个分量 重构水印图像

水印图像

分解出RGB 三个分量 RGB 二级小波分解

相关文档
最新文档