专栏名称: zola
这公众号里有佐拉写的文化评论跟产品评测,也许还有旅游日记跟读书笔记。你就随便看看吧。
目录
相关文章推荐
保定晚报  ·  免门票!保定这些景区发出夏日邀约 ·  8 小时前  
保定晚报  ·  免门票!保定这些景区发出夏日邀约 ·  8 小时前  
中产先生  ·  开启大乱斗,周末快乱成一锅粥了 ·  23 小时前  
看理想  ·  这档节目完结了,我很不舍 ·  6 天前  
51好读  ›  专栏  ›  zola

我在研究如何对图像进行二维快速傅里叶变换,求指点

zola  · 公众号  · 自媒体  · 2017-02-23 23:34

正文

请到「今天看啥」查看全文


FA (:,:, 1 ) .^ 2 + FA (:,:, 2 ) .^ 2 + FA (:,:, 3 ) .^ 2 ), title ( 'spectrum of watermark' ); %% extract watermark FA2 = fft2 ( FAO ); G =( FA2 - FA ) / alpha ; GG = G ; for i = 1 : imsize ( 1 ) * 0.5 for j = 1 : imsize ( 2 ) GG ( M ( i ), N ( j ),:)= G ( i , j ,:); end end for i = 1 : imsize ( 1 ) * 0.5 for j = 1 : imsize ( 2 ) GG ( imsize ( 1 ) + 1 - i , imsize ( 2 ) + 1 - j ,:)= GG ( i , j ,:); end end figure , imshow ( GG ); title ( 'extracted watermark' ); %imwrite(uint8(GG),'extracted watermark.jpg'); %% MSE and PSNR C = double ( im ); RC = double ( FAO ); MSE = 0 ; PSNR = 0 ; for i = 1 : imsize ( 1 ) for j = 1 : imsize ( 2 ) MSE = MSE + ( C ( i , j ) - RC ( i , j )) .^ 2 ; end end MSE = MSE / 360. ^ 2 ; PSNR = 20 * log10 ( 255 / sqrt ( MSE )); MSE PSNR %% attack test %% attack by smearing %A = double(imread('gl1.jpg')); %B = double(imread('attacked image.jpg')); attack = 1 - double ( imread ( 'attack.jpg' )) / 255 ; figure , imshow ( attack ); FAO_ = FAO ; for i = 1 : imsize ( 1 ) for j = 1 : imsize ( 2 ) if attack ( i , j , 1 ) + attack ( i , j , 2 ) + attack ( i , j , 3 ) > 0.5 FAO_ ( i , j ,:) = attack ( i , j ,:); end end end figure , imshow ( FAO_ ); %extract watermark FA2 = fft2 ( FAO_ ); G =( FA2 - FA ) * 2 ; GG = G ; for i = 1 : imsize ( 1 ) * 0.5 for j = 1 : imsize ( 2 ) GG ( M ( i ), N ( j ),:)= G ( i , j ,:); end end for i = 1 : imsize ( 1 ) * 0.5 for j = 1 : imsize ( 2 ) GG ( imsize ( 1 ) + 1 - i , imsize ( 2 ) + 1 - j ,:)= GG ( i , j ,:); end end figure , imshow ( GG ); title ( 'extracted watermark' ); %% attack by cutting s2 = 0.8 ; FAO_ = FAO ; FAO_ (:, s2 * imsize ( 2 ) + 1 : imsize ( 2 ),:) = FAO_ (:, 1 : int32 (( 1 - s2 ) * imsize ( 2 )),:); figure , imshow ( FAO_ ); %extract watermark FA2 = fft2 ( FAO_ ); G =( FA2 - FA ) * 2 ; GG = G ; for i = 1 : imsize ( 1 ) * 0.5 for j = 1 : imsize ( 2 ) GG ( M ( i ), N ( j ),:)= G ( i , j ,:); end end for i = 1 : imsize ( 1 ) * 0.5 for j = 1 : imsize ( 2 ) GG ( imsize ( 1 ) + 1 - i , imsize ( 2 ) + 1 - j ,:)= GG ( i , j ,:); end end figure , imshow ( GG ); title ( 'extracted watermark' ); %%小波变换加水印,解水印大家按照加的思路逆过来就好 clc ; clear ; close all ; %% read data im = double ( imread ( 'gl1.jpg' )) /





请到「今天看啥」查看全文