【圖像隱藏】基于LDPC編碼譯碼結(jié)合DCT算法實(shí)現(xiàn)圖像水印嵌入提取含Matlab源碼
1 簡介
根據(jù)數(shù)字水印系統(tǒng)與通信系統(tǒng)的相似性,借助通信中的LDPC碼和交織技術(shù)可提高盲水印算法的魯棒性.在DCT域設(shè)計(jì)并實(shí)現(xiàn)了一種盲數(shù)字水印算法.該算法采用LDPC碼作為水印信道編碼,對圖像水印傳輸進(jìn)行差錯(cuò)控制,把通過LDPC碼編碼后的水印序列嵌入原始圖像頻域,在提取時(shí)采用LDPC碼的迭代譯碼算法.實(shí)驗(yàn)結(jié)果表明:該算法對于常見的圖像攻擊具有很強(qiáng)的魯棒性,并且具有很好的視覺不可見性.




2 部分代碼
% ? ? ? ?基于DCT變換的信息隱藏(數(shù)字水印)嵌入算法的設(shè)計(jì) ? ? ? ? ? % ? ?
close all;
clc;
clear all
warning off
%-----------------讀入"隱藏的圖片"---------------------
I=imread('W.bmp');
%-----------------------讀入"載體圖像"-------------------------
cover_image=imread('lena.bmp');
%------------------------------------------------------------------
I0=rgb2gray(I);%灰度化
cover_image=rgb2gray(cover_image);%灰度化
[wm0,watermarked_image,wm]=ldpc_dct(I0,cover_image);%ldpc_dct嵌入提取
e=wm0-wm;
[m,n]=size(e);
mse=sum((e(:).^2))/(m*n);
psnr=10*log10(255^2/mse);%原始水印與提取水印的峰值信噪比
% disp(['ldpc改進(jìn)dct提取水印的峰值信噪比psnr=',num2str(psnr)])
figure(1)
subplot(221)
imshow(cover_image);
title('原圖');
subplot(222);
imshow(I0);
title('水印圖');
title('水印圖');
%顯示嵌入水印后的圖象
subplot(223);
uint8_watermarked_image=uint8(watermarked_image);
imshow(uint8_watermarked_image)
title('ldpc編碼譯碼改進(jìn)后嵌入水印圖') ?
subplot(224);
imshow(double(wm));
title('ldpc編碼譯碼改進(jìn)后提取水印圖')
%%?剪切攻擊
[thr,sorh,keepapp]= ddencmp('cmp','wv',I_gaosi);
% 降噪 or 壓縮 using wavelets.
[I_yasuo,CXC,LXC,PERF0,PERFL2] = ...
wdencmp('gbl',C,S,'bior3.7',2,thr,sorh,keepapp);
[wm_yasuo0,watermarked_image_yasuo,wm_yasuo]=ldpc_dct(I_yasuo,cover_image);%ldpc_dct嵌入提取
e_yasuo=wm_yasuo0-wm_yasuo;
[m,n]=size(e_yasuo);
mse_yasuo=sum((e_yasuo(:).^2))/(m*n);
psnr_yasuo=10*log10(255^2/mse_yasuo);%原始水印與提取水印的峰值信噪比
% disp(['旋轉(zhuǎn)攻擊后峰值信噪比psnr=',num2str(psnr_xuanzhuan)])
figure(5)
subplot(221)
imshow(cover_image);
title('原圖');
subplot(222);
imshow(I0);
title('水印圖');
%顯示嵌入水印后的圖象
subplot(223);
uint8_watermarked_image_yasuo=uint8(watermarked_image_yasuo);
imshow(uint8_watermarked_image_yasuo)
title('小波壓縮后嵌入水印圖') ?
subplot(224);
imshow(double(wm_yasuo));
title('小波壓縮后提取水印圖')
3 仿真結(jié)果



4 參考文獻(xiàn)
[1]朱冰蓮, 王雅楠. 基于LDPC碼的圖像水印盲檢算法[J]. 重慶理工大學(xué)學(xué)報(bào):自然科學(xué), 2010(7):5.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
