Re: [問題] 浮水印已回收

看板MATLAB作者時間16年前 (2009/04/26 01:03), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串2/4 (看更多)
這邊不知道ab圖的大小 中頻是指AC?~AC?呢 其實有點不太知道你們到底是要做甚麼樣子 = = 我猜想你們老師應該是指說 把a圖做DCT轉換 再根據b圖的數值,來修改a圖的DCT係數吧 這個是最簡單的浮水印藏法 ※ 引述《kang760 (回憶)》之銘言: : 我們是一群大4的學生 因為專題選擇了這個 : 不過卻對程式不懂>"< 不知道有沒有大大能救一下我們 : 老師給的問題是... : 把2張圖做DCT轉換之後 : 其中b圖放到a圖的中頻裡面 : 再還原顯示圖出來 : 我們的問題出在 做完後沒有圖 : 以下是我們的程式 希望大大們幫忙一下 : x=imread('a.bmp'); : [imH,imW]=size(x); : colormap(gray(256)); : for i=1:1:round(imH/8) % 計算分幾個8x8的區塊並四捨五入 : for j=1:1:round(imW/8) : t=x(i*8-7:8*i,j*8-7:8*j); % 挖出圖片8x8小塊 並存入t : t=DCT2(t); % 將t做DCT : for n=1:1:8 % 運算斜線 : for m=1:1:8 : if n+m==9 這個if好像沒有任何的意義? : end : end : end : end 這兩個迴圈好像也沒有做甚麼事情 = = : end : z=imread('b.jpg'); %浮水印的 : tt=DCT2(z); %DCT : tt=double(tt); : for n1=1:1:8 % 運算斜線 : for m1=1:1:8 : if n1+m1==9 : y=IDCT2(y); % 將改變完的t做IDCT 這邊y憑空跑出來? : x(i*8-7:8*i,j*8-7:8*j)=y; 這邊把y寫回x裡面,可是這樣寫每個8*8 BLOCK都是一樣的喔 : end : end : end : imshow(y); 這邊又imshow(y)? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.120.228

04/26 01:39, , 1F
a圖的大小是512*512 b圖很像是隨便
04/26 01:39, 1F

04/26 01:42, , 2F
其實我也不懂我們要做的東西 我是記得老師說把b圖藏到
04/26 01:42, 2F

04/26 01:43, , 3F
a圖的中頻區域裡面 因為中頻改變的話比較不會影響原圖
04/26 01:43, 3F

04/26 01:55, , 4F
看一下這篇PAPER吧 “The digital watermarking method
04/26 01:55, 4F

04/26 01:55, , 5F
by using both patchwork and DCT”你們老師應該是要你們
04/26 01:55, 5F

04/26 01:56, , 6F
用這篇PAPER的方法
04/26 01:56, 6F

04/26 01:59, , 7F
“Hidden digital watermarks in images”這篇才對
04/26 01:59, 7F
文章代碼(AID): #19yq9V0j (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #19yq9V0j (MATLAB)