国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于DWT-DCT-SVD的圖像數(shù)字水印算法

這篇具有很好參考價(jià)值的文章主要介紹了基于DWT-DCT-SVD的圖像數(shù)字水印算法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔

目錄

前言

一、算法原理

二、結(jié)果

總結(jié)



前言

提示:這里可以添加本文要記錄的大概內(nèi)容:

  1. 數(shù)字水印技術(shù)作為知識(shí)產(chǎn)權(quán)保護(hù)及認(rèn)證的重要手段,正得到廣泛研宄與應(yīng)用。數(shù)字水印技術(shù)是在數(shù)字產(chǎn)品中嵌入秘密信息,以便保護(hù)產(chǎn)品的版權(quán)、證明產(chǎn)品的真實(shí)可靠性、跟蹤盜版行為或提供產(chǎn)品的附加信息。這個(gè)秘密信息被稱為數(shù)字水印。本文通過基于?DWT-DCT-SVD 數(shù)字水印算法,首先對(duì)載體圖像進(jìn)行2級(jí)小波分解,在HH2分量上進(jìn)行分塊,再結(jié)合DCT和SVD技術(shù)嵌入水印,該算法具有更好的不可見性和魯棒性。

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、算法原理

  1. 離散小波變換算法

圖像的離散小波變換一般是通過二維小波變換來實(shí)現(xiàn),小波變換的過程如下圖1所示,首先它將圖像數(shù)據(jù)分割成若干個(gè)行與列組成的矩陣,對(duì)圖像的每一行做一維小波變換獲得原始圖像在水平方向上的低頻分量L和高頻分量H,然后變換所得數(shù)據(jù)的每一列做一維的小波變換,經(jīng)過變換之后圖像就被分解成左上角的相似的一部分LL1,左下角垂直方向的細(xì)節(jié)部分 LH1,右上角水平方向的細(xì)節(jié)部分HL1,右下角對(duì)角線方向的細(xì)節(jié)部分 HH1,再對(duì)其中相似部分LL1再進(jìn)行一級(jí)分解,從而實(shí)現(xiàn)圖像的二級(jí)分解。

dwt-dct-svd,matlab

通對(duì)過兩次分解后的圖像多分辨率特點(diǎn)進(jìn)行分析可得,圖像多分辨率在空間方向具有很好的選擇性,與人類的通過視覺來獲取事物的特性過程十分吻合。因此,一般把集中原始圖像絕大多數(shù)能量的相似部分稱為逼近子圖。子帶圖像的左上角細(xì)節(jié)部分、右上角的細(xì)節(jié)部分和右下角細(xì)節(jié)部分分別刻畫了原始圖像的邊緣、輪廓和紋理細(xì)節(jié)等特征,并都將它們稱為細(xì)節(jié)子圖。逼近子圖由于保留了原始圖像的大部分內(nèi)容,使其更不容易受到外界影響,具有較強(qiáng)的抗干擾性,穩(wěn)定性也相對(duì)較好而邊緣細(xì)節(jié)子圖保留原始圖像的細(xì)節(jié)較少,更則容易受外來噪聲、圖像處理的攻擊,穩(wěn)定性也較差。

2.離散余弦變換算法

離散余弦變換作為數(shù)字信號(hào)處理領(lǐng)域最常用的算法之一,也可以同傅里葉變換一樣實(shí)現(xiàn)快速算法。由于避免了傅里葉變換中的復(fù)數(shù)運(yùn)算,離散余弦變換通過實(shí)數(shù)的正交變換使得計(jì)算的速度得到了很大的提升,同時(shí)也能夠?qū)崿F(xiàn)很好的能量壓縮和去相關(guān)的能力,因此該算法在圖像壓縮領(lǐng)域和數(shù)字音頻信號(hào)壓縮等領(lǐng)域都有著普遍的應(yīng)用。增強(qiáng)水印的抗壓縮能力可以通過壓縮標(biāo)準(zhǔn)模型的水印嵌入算法來實(shí)現(xiàn),因此,研究離散余弦變換對(duì)于數(shù)字水印處理技術(shù)有著顯著的意義。特別是實(shí)現(xiàn)離散余弦變換后使得能量集中,同時(shí)算法并不復(fù)雜,因此可以更容易在數(shù)字信號(hào)處理器中快速實(shí)現(xiàn)。

圖像離散余弦變換(DCT) 公式如下:

dwt-dct-svd,matlab

?式中: F(u,v)為離散余弦函數(shù),f(x,y)為圖像原始數(shù)據(jù)。

3.奇異值分解算法

奇異值分解( Singular Value Decomposition) 是矩陣分析應(yīng)用中一種非常重要的分解方法,尤其是正規(guī)矩陣酉對(duì)角化在信號(hào)處理、數(shù)字圖像處理、統(tǒng)計(jì)學(xué)等領(lǐng)域占有重要位置,應(yīng)用非常廣泛。奇異值分解具有轉(zhuǎn)置不變性、旋轉(zhuǎn)不變性、位移不變性以及鏡像變換不變性等重要性質(zhì),使得奇異值特征在描述圖像時(shí)更具穩(wěn)定性。當(dāng)圖像被施加小的擾動(dòng)時(shí),圖像的奇異值不會(huì)有很大的變化,而且奇異值所表現(xiàn)的是圖像的內(nèi)蘊(yùn)特性而非視覺特性,反映的是圖像矩陣元素之間的關(guān)系。SVD通常用來提取圖像的特征值,實(shí)現(xiàn)降維、圖像壓縮。在數(shù)字水印技術(shù)中,也可以用來提高水印的魯棒性。

示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。

二、結(jié)果

dwt-dct-svd,matlab

?????????????????????????????????????????????????未受攻擊時(shí)的實(shí)驗(yàn)結(jié)果

dwt-dct-svd,matlab

?????????????????????????????????高斯濾波攻擊時(shí)的實(shí)驗(yàn)結(jié)果

dwt-dct-svd,matlab

????????????????????????????????旋轉(zhuǎn)20度攻擊時(shí)的實(shí)驗(yàn)結(jié)果?


總結(jié)

本文的DWT-DCT-SVD數(shù)字水印算法,基于DCT和DWT的各自優(yōu)勢(shì),采用DWT和DCT相結(jié)合的方法進(jìn)行嵌入數(shù)字水印,DWT將水印嵌在圖像的低頻部分,保證水印的魯棒性。而DCT以把圖像重要的可視信息都集中在變換后的小部分系數(shù)中可以提升圖像水印的不可見性。

該算法效果還可以,但存在一些不足。在實(shí)際應(yīng)用場(chǎng)景中,為保證水印圖像的安全性,還需要在嵌入數(shù)字水印的過程中加入密鑰,防止無關(guān)人員惡意提取水印。同時(shí),在選擇嵌入塊時(shí),可以采用計(jì)算小波系數(shù)塊信息熵與周圍系數(shù)塊信熵值波動(dòng)最小的方法選擇最優(yōu)嵌入塊,以提高數(shù)字水印的魯棒性。?文章來源地址http://www.zghlxwxcb.cn/news/detail-807671.html

M = 512; % 原圖像長(zhǎng)度
N = 64; % 水印圖像長(zhǎng)度
K = 32; % 子塊大小

alpha=0.1;% 嵌入強(qiáng)度系數(shù)

% 打開原圖、水印圖
I = imread('lena.jpg');
G = imread('a.jpg');
%W = zeros(M);

% 縮放、灰度化原圖、改變精度
I = imresize(I,[M M]);
%I = im2double(I); % double精度轉(zhuǎn)換
I = rgb2gray(I); % 灰度化處理

G = imresize(G,[N N]);
%G = im2double(G); % double精度轉(zhuǎn)換
G = rgb2gray(G); % 灰度化處理

subplot(2,2,1);
imshow(I);
title('原始載體圖片');
subplot(2,2,2);
imshow(G);
title('原始水印圖像');

%Step 1
[LL,LH,HL,HH] = dwt2(G,'haar'); % 進(jìn)行2維哈爾離散小波變換
[U,S,V] = svd(HH);% 對(duì)HH進(jìn)行SVD分解,得到U、S、V矩陣

%Step 2
%進(jìn)行2級(jí)離散小波變換
[LL1, LH1, HL1, HH1] = dwt2(I, 'haar');
[LL2, LH2, HL2, HH2] = dwt2(LL1, 'haar');%128*128
H0 = entropy(HH2)% 計(jì)算HH3系數(shù)的信息熵

%Step 3

%選出最優(yōu)嵌入塊 默認(rèn)為4*4:(1,1)
optimal_block_index = 0;

%Step 4
%對(duì)最優(yōu)嵌入塊進(jìn)行 DCT 變換,得到DCT系數(shù)矩陣 B
m = floor(optimal_block_index/4)+1;
n = mod(optimal_block_index, 4)+1
x = (m - 1) * K + 1;
y = (n - 1) * K + 1;
H_I = HH2(x:x+K-1, y:y+K-1);
B = dct2(H_I);

%Step 5
%對(duì)B進(jìn)行奇異值分解,嵌入水印
[U1,S1,V1] = svd(B);
S2 = S1 + alpha * S;
B1 = U1 * S2 * V1;
H_I = idct2(B1);
HH2(x:x+K-1, y:y+K-1) = H_I;
LL1 = idwt2(LL2,LH2,HL2,HH2,'haar');
W = idwt2(LL1,LH1,HL1,HH1,'haar');
W = uint8(W);

%攻擊
%高斯濾波攻擊
%H = fspecial('gaussian',3,0.4);
%W = imfilter(W,H);

%G 壓縮攻擊
%quality = 50;
%W = imresize(W, 0.5); % 縮小圖像
%imwrite(W, 'temp.jpg', 'Quality', quality); % 保存為JPEG格式
%W = imread('temp.jpg'); % 重新讀取JPEG圖像
%W = imresize(W, 2); % 放大圖像

% 剪切攻擊
%r = 0.3; % 剪切比例為30%
%sz = size(W);
%h1 = round(sz(1)*r); % 剪切高度
%w1 = round(sz(2)*r); % 剪切寬度
%x1 = round(rand(sz(1)-h1)); % 隨機(jī)選擇一行
%y1 = round(rand(sz(2)-w1)); % 隨機(jī)選擇一列
%W(x1+1:x1+h1, y1+1:y1+w1) = 0; % 將指定區(qū)域置為0

% 旋轉(zhuǎn)攻擊
%angle = 20; % 旋轉(zhuǎn)角度為20度
%W = imrotate(W, angle, 'bilinear', 'crop');

%提取水印
[LL3, LH3, HL3, HH3] = dwt2(W, 'haar');
[LL4, LH4, HL4, HH4] = dwt2(LL3, 'haar');%128*128
H_I2 = HH4(x:x+K-1, y:y+K-1);
B2 = dct2(H_I2);
[Uw,Sw,Vw] = svd(B2);
Sx = (Sw - S1)/alpha;
B2 = U * Sx * V;
H_I2 = idct2(B2);
A = idwt2(LL,LH,HL,H_I2,'haar');
A = uint8(A);
subplot(2,2,3);
imshow(W);
title('嵌入水印后的載體圖像');
subplot(2,2,4);
imshow(A);
title('提取出來的水印圖像');

% 計(jì)算PSNR值
psnr_val = psnr(G, A);

% 顯示PSNR值
fprintf('The PSNR value between the original image and reconstructed image is %f.\n', psnr_val);

% 計(jì)算直方圖
h1 = imhist(G);
h2 = imhist(A);

% 根據(jù)直方圖計(jì)算 NC 值
nc_val = sum(sqrt(h1 .* h2)) / sqrt(sum(h1) * sum(h2));

% 顯示 NC 值
fprintf('The NC value between the two images is %f.\n', nc_val);

到了這里,關(guān)于基于DWT-DCT-SVD的圖像數(shù)字水印算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Matlab系列】基于DCT和置亂算法的視頻水印Matlab實(shí)現(xiàn)

    Date: 2022.4.5 ? ? 數(shù)字水印技術(shù)一般用于版權(quán)認(rèn)證。在實(shí)際使用中,嵌入水印的魯棒性就顯得非常重要。通常會(huì)采用各種方式進(jìn)行攻擊測(cè)試,比如加噪濾波,縮放、旋轉(zhuǎn)、剪切、JPEG壓縮等。本文講述了采用置亂技術(shù)進(jìn)行嵌入水印和提取水印,并加入濾波、剪切、椒鹽噪聲、

    2024年02月01日
    瀏覽(37)
  • 【畢業(yè)設(shè)計(jì)系列】001:基于DCT和置亂算法的視頻水印Matlab實(shí)現(xiàn)

    Date: 2022.4.5 ? ? 數(shù)字水印技術(shù)一般用于版權(quán)認(rèn)證。在實(shí)際使用中,嵌入水印的魯棒性就顯得非常重要。通常會(huì)采用各種方式進(jìn)行攻擊測(cè)試,比如加噪濾波,縮放、旋轉(zhuǎn)、剪切、JPEG壓縮等。本文講述了采用置亂技術(shù)進(jìn)行嵌入水印和提取水印,并加入濾波、剪切、椒鹽噪聲、

    2023年04月09日
    瀏覽(22)
  • 【MATLAB圖像處理實(shí)用案例詳解(8)】—— 圖像數(shù)字水印算法

    【MATLAB圖像處理實(shí)用案例詳解(8)】—— 圖像數(shù)字水印算法

    數(shù)字水印技術(shù)作為信息隱藏技術(shù)的一個(gè)重要分支,是將信息(水印)隱藏于數(shù)字圖像、視頻、音頻及文本文檔等數(shù)字媒體中,從而實(shí)現(xiàn)隱秘傳輸、存儲(chǔ)、標(biāo)注、身份識(shí)別、版權(quán)保護(hù)和防篡改等目的。 隨著 1996 年第一屆信息隱藏國(guó)際學(xué)術(shù)研討會(huì)的召開,數(shù)字水印技術(shù)的研究得到了迅

    2024年02月10日
    瀏覽(20)
  • 【語音隱寫】基于DCT實(shí)現(xiàn)音頻水印嵌入提取附Matlab代碼

    【語音隱寫】基于DCT實(shí)現(xiàn)音頻水印嵌入提取附Matlab代碼

    ??作者簡(jiǎn)介:熱愛科研的Matlab仿真開發(fā)者,修心和技術(shù)同步精進(jìn), 代碼獲取、論文復(fù)現(xiàn)及科研仿真合作可私信。 ??個(gè)人主頁:Matlab科研工作室 ??個(gè)人信條:格物致知。 更多Matlab完整代碼及仿真定制內(nèi)容點(diǎn)擊?? 智能優(yōu)化算法?? ? ??神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)?? ? ??雷達(dá)通信?? ?

    2024年02月03日
    瀏覽(31)
  • 基于DCT的圖像量化-Python簡(jiǎn)單實(shí)現(xiàn)

    基于DCT的圖像量化-Python簡(jiǎn)單實(shí)現(xiàn)

    ????????與本科期間導(dǎo)師給的課題相關(guān),暑假期間學(xué)了一些關(guān)于DCT量化的內(nèi)容。上網(wǎng)查閱了之后發(fā)現(xiàn)已經(jīng)有博主使用MATLAB實(shí)現(xiàn)了這個(gè)功能。但是少有人用Python實(shí)現(xiàn),于是我就動(dòng)手寫了一下。 ????????實(shí)現(xiàn)起來并不復(fù)雜,主要的難點(diǎn)就是如何對(duì)圖像進(jìn)行均分快。由于二維

    2024年02月04日
    瀏覽(21)
  • 圖像處理之DCT圖像壓縮(基于c++ opencv實(shí)現(xiàn))

    圖像處理之DCT圖像壓縮(基于c++ opencv實(shí)現(xiàn))

    是老師布置的作業(yè),拖到ddl才開始,opencv也才剛接觸,有自己結(jié)合百度的一點(diǎn)理解,如有誤,請(qǐng)諒解! 先貼一段在matlab上實(shí)現(xiàn)的代碼,這個(gè)在網(wǎng)上都可以查到,就不贅述了 思路如下: ?????先劃分處理塊大小,對(duì)每個(gè)塊分別進(jìn)行DCT變換,再舍棄每個(gè)塊中的高頻系數(shù),再進(jìn)行

    2024年02月09日
    瀏覽(90)
  • 壓縮編碼之變換的選擇之離散余弦變換(DCT)和離散傅立葉變換(DFT)——數(shù)字圖像處理

    壓縮編碼之變換的選擇之離散余弦變換(DCT)和離散傅立葉變換(DFT)——數(shù)字圖像處理

    變換的選擇是一個(gè)關(guān)鍵的考量因素,它決定了數(shù)據(jù)是如何被壓縮的。選擇變換時(shí)考慮以下幾個(gè)重要原則: 數(shù)據(jù)去關(guān)聯(lián)性 :變換的目的之一是減少數(shù)據(jù)中的相關(guān)性。例如,在圖像壓縮中,像素間往往高度相關(guān)。通過適當(dāng)?shù)淖儞Q,如離散余弦變換(DCT),可以將這些相關(guān)性轉(zhuǎn)化

    2024年02月02日
    瀏覽(86)
  • 數(shù)字圖像處理實(shí)驗(yàn)(二)|圖像變換{離散傅里葉變換fft2,離散余弦變換dct2、頻譜平移fftshift}(附實(shí)驗(yàn)代碼和截圖)

    數(shù)字圖像處理實(shí)驗(yàn)(二)|圖像變換{離散傅里葉變換fft2,離散余弦變換dct2、頻譜平移fftshift}(附實(shí)驗(yàn)代碼和截圖)

    1了解圖像變換的原理; 2理解圖像變換系數(shù)的特點(diǎn); 3掌握?qǐng)D像變換的方法及應(yīng)用; 4掌握?qǐng)D像的頻譜分析方法; 5了解圖像變換在圖像數(shù)據(jù)壓縮、圖像濾波等方面的應(yīng)用。 安裝了MATLAB軟件的臺(tái)式或筆記本電腦 1.離散傅里葉變換 對(duì)于二維離散信號(hào),F(xiàn)ourier正變換定義為: 二維離

    2024年02月06日
    瀏覽(19)
  • 基于DCT+huffman變換的圖像壓縮解壓縮FPGA實(shí)現(xiàn)

    目錄 一、理論基礎(chǔ) 二、verilog程序 三、仿真結(jié)果 ? ? ? ?圖像壓縮和解壓縮是數(shù)字圖像處理中的重要技術(shù)?;贒CT(離散余弦變換)和Huffman變換的圖像壓縮解壓縮方法是一種常見的圖像壓縮標(biāo)準(zhǔn),它可以將圖像數(shù)據(jù)壓縮成更小的體積,同時(shí)保持圖像的質(zhì)量和還原性。 一、

    2023年04月16日
    瀏覽(22)
  • 【語音識(shí)別】基于matlab小波變換DWT 0-9數(shù)字語音識(shí)別【含Matlab源碼 3715期】

    【語音識(shí)別】基于matlab小波變換DWT 0-9數(shù)字語音識(shí)別【含Matlab源碼 3715期】

    ?博主簡(jiǎn)介:熱愛科研的Matlab仿真開發(fā)者,修心和技術(shù)同步精進(jìn),Matlab項(xiàng)目合作可私信。 ??個(gè)人主頁:海神之光 ??代碼獲取方式: 海神之光Matlab王者學(xué)習(xí)之路—代碼獲取方式 ??座右銘:行百里者,半于九十。 更多Matlab仿真內(nèi)容點(diǎn)擊?? Matlab圖像處理(進(jìn)階版) 路徑規(guī)劃

    2024年02月03日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包