首页 > 行业资讯 > 【图像隐藏】基于 DCT算法实现彩色数字水印嵌入提取含Matlab源码

【图像隐藏】基于 DCT算法实现彩色数字水印嵌入提取含Matlab源码

时间:2022-05-01 来源: 浏览:

【图像隐藏】基于 DCT算法实现彩色数字水印嵌入提取含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #图像处理matlab源码 557个

1 简介

文章对DCT(离散余弦变换)域图像数字水印算法进行了研究,并用matlab工具进行实验,结果表明该算法使水印的嵌入达到了较好的鲁棒性和不可见性.对原始信号做 DCT 的算法:Cox 和 Piva 等人提出的 DCT 技术的经典之作。Cox 利用随机数发生器产生标准正态序列作为水印信息对图像进行整体 DCT 变换后,选取除去 DC 系数之外部分较低频率系数叠加水印信息;Piva 则修改整幅图像的中频部分。对原始信号分块后,再作 DCT 的算法:Hsu 和 Wu 把图像进行 8*8 分块,将一个二进制序列作为水印放入 DCT 的中频区;有些学者则计算整个图像的 DCT,把一个实数序列嵌入DCT 的中频系数上。选择中频区的好处是一方面尽量减少嵌入信息对图像主观视觉的影响;同时,尽量避免有损压缩对水印信息可能带来的损失。

2 部分代码

clear,clc %{ %------------------------------------------------------------------ %加入水印 %------------------------------------------------------------------ Watermarking=’./Test picture/test_1.jpg’; WM=imread(Watermarking); %水印图像 figure,imshow(WM),title(’Watermarking’); %----------------------------------------------- Image_name =’./Test picture/test_2.jpg’; IM=imread(Image_name); %原始载体 figure,imshow(IM),title(’Original drawing’); %----------------------------------------------- Add_Watermarking(Watermarking,Image_name); %添加水印 %----------------------------------------------- At_Watermarking_picture=’./Watermarking picture/At Watermarking picture.png’; AWM=imread(At_Watermarking_picture); %添加水印后的图片 figure,imshow(AWM),title(’After watermarking picture’); %------------------------------------------------------------------ %加密 %------------------------------------------------------------------ Modulation_Key=0.362000000001; %加密密钥 Image_name=’./Watermarking picture/At Watermarking picture.png’; W_encryption_picture=imread(Image_name); %将加密的图像 figure,imshow(W_encryption_picture),title(’Before the encryption’); %----------------------------------------------- Image_Encryption(Modulation_Key,Image_name); %混沌加密函数 %----------------------------------------------- encryption_picture=’./Encryption picture/encryption picture.png’; image_encryption=imread(encryption_picture); %加密后图像 figure,imshow(image_encryption),title(’After encrypted’); %------------------------------------------------------------------ %解密 %------------------------------------------------------------------ Modulation_Key; %解密密钥 Image_name=’./Encryption picture/encryption picture.png’; image_encryption=imread(Image_name); %被加密的图像 figure,imshow(image_encryption),title(’Before the decryption’); %----------------------------------------------- Image_Decryption(Modulation_Key,Image_name) %解密函数 %----------------------------------------------- decryption_picture=’./Decryption picture/decryption picture.png’; image_Decryption=imread(decryption_picture); %解密后的图像 figure,imshow(image_Decryption),title(’After decrypted’); %} %------------------------------------------------------------------ %提取水印 %------------------------------------------------------------------ Image_name=’./Decryption picture/decryption picture.png’; A_Watermarking_Picture=imread(Image_name); %提取水印前的图像 figure,imshow(A_Watermarking_Picture),title(’Before extract Watermarking’); %----------------------------------------------- Extract_Watermarking(Image_name) %----------------------------------------------- Watermarking_picture=’./Watermarking picture/Watermarking picture.png’; A_Watermarking_Picture=imread(Watermarking_picture); %提取的水印图像 figure,imshow(A_Watermarking_Picture),title(’Watermarked image’); %------------------------------------------------------------------

3 仿真结果

4 参考文献

[1]吴和静, 闵昆龙, 刘芳,等. 基于DCT域的图像数字水印算法及matlab实现[J]. 中国科技信息, 2014(9):2.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐