基于DCT变换和位平面分解的数字水印嵌入提取算法matlab仿真

举报
简简单单做算法 发表于 2024/05/30 21:22:46 2024/05/30
【摘要】 1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述     基于离散余弦变换(Discrete Cosine Transform, DCT)和位平面分解(Bit-Plane Decomposition)的数字水印嵌入与提取算法,是一种结合了频域与空域特性的稳健数字水印技术。该方法利用DCT变换将图像信号转换到频域,以利于在视觉重要性较低的频率系数中嵌入水...

1.算法运行效果图预览

 

1.jpeg

2.jpeg

3.jpeg

4.jpeg

5.jpeg

6.jpeg

7.jpeg

8.jpeg

9.jpeg

 

 

2.算法运行软件版本

matlab2022a

 

3.算法理论概述

     基于离散余弦变换(Discrete Cosine Transform, DCT)和位平面分解(Bit-Plane Decomposition)的数字水印嵌入与提取算法,是一种结合了频域与空域特性的稳健数字水印技术。该方法利用DCT变换将图像信号转换到频域,以利于在视觉重要性较低的频率系数中嵌入水印信息;同时,通过位平面分解,可以精细地控制水印嵌入的强度和鲁棒性,保证水印在图像处理操作下的存活率。

 

3.1 离散余弦变换(DCT

       DCT是将图像从空间域转换到频率域的一种变换方法,常用于图像压缩和数字水印领域。对于一个N×N的图像块X,其二维DCT可表示为:

 

10.png

 

3.2 位平面分解

        位平面分解是将图像的每个像素值按照二进制位分解成多个位平面,第i位平面包含了所有像素值的第i位。对于8位灰度图像,共有8个位平面,最低有效位(LSB)对应第0位平面,最高有效位(MSB)对应第7位平面。

 

3.3 数字水印嵌入算法

 

11.png

 

3.4 数字水印提取算法

12.png

4.部分核心程序

[Imark,Mwk_binarys] = func_desert(Mwk_binary,RR,CC,4);
 
figure(1);
subplot(122);
imshow(Imark,[]);
title('提取水印');
 
binary = Mwk_binarys;
[n,m]  = size(binary);
[l,h]  = size(low_high);
gray   = zeros(n,m);
block_size =(n*m/l)^0.5;
 
for i=1:block_size:n
    for j=1:block_size:m
        n1=ceil(i/block_size); 
        m1=ceil(j/block_size);
        a=low_high((n1-1)*(m/block_size)+m1,1);   
        b=low_high((n1-1)*(m/block_size)+m1,2);
        
        temp=binary(i:i+block_size-1,j:j+block_size-1);
        temp1=temp;        
               
        dix= temp==0;
        temp1(dix)=a;
        dix=find(temp==1);
        temp1(dix)=b;
        
        gray(i:i+block_size-1,j:j+block_size-1)=temp1;
    end
end
subplot(121);
imshow(uint8(gray));
 
 
%提取水印的性能分析
Imark0 = imread('1.bmp');
 
 
Imark0=imresize(Imark0,[64,64]);
PSNR(jj) = func_psnr((Imark0),(Imark));
NC(jj)   = func_nc((Imark0),(Imark)) ;
end
 
figure;
plot(NOISE,PSNR,'b-o');
grid on
xlabel('noise');
ylabel('PSNR');
 
figure;
plot(NOISE,NC,'b-o');
grid on
xlabel('noise');
ylabel('NC');
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。