freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于matlab的數(shù)字水印設(shè)計(jì)——基于dct域的水印實(shí)現(xiàn)課程設(shè)計(jì)(編輯修改稿)

2025-07-24 18:08 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 原理應(yīng)當(dāng)將較大的強(qiáng)度值嵌入。然后,需要將每一個(gè)8*8塊進(jìn)行DCT變換,并將變換后的直流分量與強(qiáng)度值和水印圖像相應(yīng)點(diǎn)象素的信息相乘。在這里需要指出的是為了保證提取算法的簡(jiǎn)單可以令水印圖像象素的值減一個(gè)比較小的值。這一步用MATLAB來實(shí)現(xiàn)可以用block_dct1=dct2(block_dct1)分別將8*8塊進(jìn)行二維DCT變換,block_dct1(1,1)=block_dct1(1,1)*(1+Alpha*(mark(m,n)))其中的mark表示水印圖像的象素值,將它嵌入塊的直流項(xiàng)中。 恢復(fù)空域?qū)⑶度牒蟮膲K分別進(jìn)行反DCT變換,并且按順序存回I矩陣,這時(shí)的I就是嵌入水印后的圖像。 嵌入算法擴(kuò)展上面的方法一般只能對(duì)一幅灰度圖像嵌入一幅二值圖像,在下面將進(jìn)行彩色圖像嵌入三幅二值圖像或一幅8色彩色圖像的方法。 RGB彩色圖像三個(gè)矩陣的劃分由于所有的RGB彩色圖像都是由紅綠藍(lán)三個(gè)顏色組成的,在存儲(chǔ)中這三個(gè)圖像也是分為3個(gè)矩陣存儲(chǔ)的,那么我們就可以將每個(gè)矩陣視為一個(gè)灰度,并且每個(gè)灰度圖像中都可以分別潛入一個(gè)水印圖像。彩色圖像的邊緣圖像由于edge函數(shù)中的I必須是灰度圖像,所以要想用GRAY=rgb2gray(I)語句將彩色圖像變成灰度圖像,再將灰度圖像GRAY取其邊界圖像。彩色圖像分層在MATLAB中,將彩色RGB圖像讀入I后,不同于灰度圖像,I矩陣是一個(gè)三維矩陣它可以表示為I(a,b,c)其中當(dāng)c=1時(shí),I(a,b,1)表示彩色圖像中紅色分量的矩陣,同樣的,I(a,b,2)、I(a,b,3)分別表示彩色圖像中綠色和藍(lán)色分量的矩陣。在分層嵌入的時(shí)候,表示原圖像矩陣就需要加入第三維分量c的值,否則MATLAB會(huì)默認(rèn)c=1。這里需要注意的是,在新圖像的生成的時(shí)候,要將R、G、B三個(gè)矩陣全部存入輸出的矩陣,否則會(huì)缺色。 八色彩色水印類似于上面的原理,作為水印的彩色圖像也分為R,G,B三層,每層可以作為一幅水印圖像分別嵌入原圖像的矩陣中。提取的時(shí)候只要將提取出的三個(gè)水印圖像存入一個(gè)三維矩陣即使一幅彩色圖像。但是這里要注意的是所用的水印圖像的R、G、B分量分別只有0、1兩個(gè)值。所以如果使用的彩色圖像不當(dāng)將會(huì)影響嵌入效果,甚至無法提取。 水印的提取這里的水印提取方法可以看作是嵌入的反變換,由于在頻域的8*8塊的直流量中乘上了與水印信息有關(guān)的系數(shù),那么同樣我們可以通過原圖像與水印圖像8*8塊直流分量的值相除得到的商即是與水印圖像相關(guān)的值,由于嵌入時(shí)水印圖像值只含0、1,而且我們?cè)谶@個(gè)值得后面又減了一個(gè)小的常數(shù),因此將除得的商減去1記為cc,這樣就可以在嵌入的水印值為0的時(shí)候cc0,反之在嵌入的水印值為1的時(shí)候cc0。這樣就可以繪制出水印圖像。 仿真程序%定義常量size=256。 %圖像大小:256*256block=8。 %塊大?。?*8%決定了水印圖片不大于32*32blockno=size/block。 %每行塊的個(gè)數(shù)LENGTH=size*size/64。 %總塊的個(gè)數(shù)1024Alpha1=。 %非邊界處的強(qiáng)度因子Alpha2=。 %邊界處的強(qiáng)度因子T1=3。 %域值為三個(gè)邊界點(diǎn)I=zeros(size,size)。 %原始圖像BW=zeros(size,size)。 %原始圖像的邊緣圖block_dct1=zeros(block,block)。mark=imread(39。D:\水印圖39。,39。bmp39。)。 %沈陽理工大學(xué)字樣彩色水印圖mark1=logical(mark(:,:,1))。mark2=logical(mark(:,:,2))。mark3=logical(mark(:,:,3))。figure(1)subplot(2,2,1)。imshow(mark)。title(39。水印圖像39。)。%顯示原圖subplot(2,2,2)。I=imread(39。D:\原始圖39。,39。bmp39。)。 %讀入彩色圖像imshow(I)。title(39。原始圖像:I39。)。%顯示prewitt為算子的邊緣圖GRAY=rgb2gray(I)。 %變灰度要用三位數(shù),即彩色圖片BW=edge(GRAY,39。prewitt39。)。 %取邊界,用于邊界自適應(yīng)subplot(2,2,3)。imshow(BW)。title(39。原始圖像的邊緣39。)。%嵌入水印for m=1:blockno。 %到第(m,n)個(gè)塊 for n=1:blockno。 x=(m1)*block+1。 %該塊的起始像素 y=(n1)*block+1。 block_dct1=I(x:x+block1,y:y+block1)。 %取該塊所有像素 block_dct1=dct2(block_dct1)。 %變換 %第二維 block_dct2=I(x:x+block1,y:y+block1,2)。 %取該塊所有像素 block_dct2=dct2(block_dct2)。 %變換 %第三維 block_dct3=I(x:x+block1,y:y+block1,3)。 %取該塊所有像素 block_dct3=dct2(block_dct3)。 %變換 BW_8_8=BW(x:x+block1,y:y+block1)。 %取邊緣的對(duì)應(yīng)塊像素 if m=1|n=1。%m或n小于等于1時(shí), T=0。 else T=sum(BW_8_8)。 %列取和 T=sum(T)。 %對(duì)整個(gè)BW_8_8中的數(shù)字取和 %取和 end if TT1。 %如果改為則意味著高頻區(qū)嵌入了低能量,低頻區(qū)嵌入了高能量。所以在低頻區(qū)嵌入的過高能量會(huì)是不該看出的水印顯示出來 %因此這里表示著邊緣自適應(yīng)性 Alpha=Alpha2。 % else Alpha=Alpha1。 % end block_dct1(1,1)=block_dct1(1,1)*
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1