基于DCT(离散余弦变换)的图像水印算法,Matlab实现

        博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188

        个人主页:Matlab_ImagePro-CSDN博客

        原则:代码均由本人编写完成,非中介,提供有偿Matlab算法代码编程服务,不从事不违反涉及学术原则的事。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        本次分享的是基于DCT的图像水印算法,用matlab实现。

        一、案例背景介绍

        前期的博文中,我们介绍了DWT数字水印算法,并对数字水印的背景、算法分类情况等做了比较详细的介绍,这里就不再重复叙述了,前期链接如下:

        基于DWT(离散小波变换)的图像水印算法(基于DWT(离散小波变换)的图像水印算法,Matlab实现-CSDN博客

        这次我们分享的是基于DCT的图像水印算法。

        二、算法原理和算法流程

        嵌入过程:

        1、读取原图、水印图像文件

        2、 对水印图进行灰度化、二值化

        3、二值化后的水印图像置乱,置乱算法arnold

        4、水印图嵌入原图中将原载体图像由rgb变换为Ycbcr空间

        (1)对亮度空间进行8*8分块DCT变换,并嵌入水印,嵌入到DCT变换后的图像块中

        (2)图像块进行反变换,IDCT变换

        (3)Ycbcr空间转回RGB空间

        (4)嵌入完成

        提取过程:

        1、 读取嵌入后水印的图

        2、 读取原图

        3、 提取水印

        (1)   原始图像转换为Ycbcr空间

        (2)   嵌入后水印的图像转换为Ycbcr空间

        (3)   分别获取原始图像、嵌入后水印的图像Y图层

        (4)   分别对原始图像、嵌入后水印的图像Y图层进行8*8分块,进行差值计算,得到二值图分块图像

        (5)   二值图分块图像还原为水印尺寸,得到水印图

        4、对提取到的二值图进行水印反置乱(iarnold),得到最终水印图。

        三、Matlab实现效果

        嵌入:

  

  

  

  

        提取效果:

  

  

        

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

专注、专一于Matlab图像处理学习、交流、代做

QQ:3249726188

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值