亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? waveletfilter.m

?? 小波閾值去噪
?? M
字號:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% 對圖像的小波濾波,這是主程序 ,很多參考資料對小波濾波寫的比較簡單,即使寫的,
%%%%%%%%%一般也只寫了一維信號的去噪,并且沒有代碼,不容易上手.為此我根據自己對小波的理解
%%%%%%%%%對小波邊緣去噪的方法,先用matlab寫了小波濾波的程序.如果有不對的地方,請指教!

%%%%%%%%%作者:何雄飛
%%%%%%%%%郵箱:steghexiongfei@163.com

%%%%%%%%%本例圖像小波濾波的過程:
%%%%%%%%%1)讀取圖像,空域,這里采用亮度系數
%%%%%%%%%2)對數據進行小波變換,三層haar小波變換,因為haar小波比較簡單,也可以用JPEG那個小波變換
%%%%%%%%%3)估計噪聲系數,分三個方向,水平H,垂直V,對角D.
%%%%%%%%%4)從第三層開始小波變換,權重系數weight和threshold可以參考部分資料,因為噪聲對三層的影響不一樣
%%%%%%%%%5)只有在大尺寸是邊緣的在小尺寸的時候才是邊緣
%%%%%%%%%6)從3->1開始重構圖像
%%%%%%%%%7)可以看到噪聲被提取出來.


function  WA0=wavefilter(imfile)

      Image = imread(imfile); 
      [r,l,color]=size(Image);
      if color==3
          Image=Image(:,:,1);
      end
      A0=double(Image);
      %%%%%%%%%%%%% Three-level haar wavelet %%%%%%%%%%%%%%%%%%%%%%%%
      [A1,H1,V1,D1] = dwt2(double(A0),'Haar');
      [A2,H2,V2,D2] = dwt2(double(A1),'Haar');
      [A3,H3,V3,D3] = dwt2(double(A2),'Haar');
      %%%%%%%%%%%%初始化小波系數系數  備份,后面要用到!
      WA0=A0;
      
      WA1=A1;WH1=H1;WV1=V1;WD1=D1;
      [r1,l1]=size(WA1);
      %%%%%%%%%%%%%%%
      WA2=A2;WH2=H2;WV2=V2;WD2=D2;
      [r2,l2]=size(WA2);
      %%%%%%%%%%%%%%%%
      WA3=A3;WH3=H3;WV3=V3;WD3=D3;
      [r3,l3]=size(WA3);
      %%%%%%%%%%%%%%%%%%%初始化掩膜,即屏蔽濾波器MASK=0
      MaskH1=zeros(r1,l1); MaskV1=zeros(r1,l1); MaskD1=zeros(r1,l1);
      
      MaskH2=zeros(r2,l2); MaskV2=zeros(r2,l2); MaskD2=zeros(r2,l2);
      
      MaskH3=zeros(r3,l3); MaskV3=zeros(r3,l3); MaskD3=zeros(r3,l3);
      %%%%%%%%%%%%%%%%%%引入與尺度相關的權重系數   
      weight=zeros(1,3);
      weight(1)=1.15; weight(2)=1.06; weight(3)=1.00;
      
      %%%%%%%%%%%%%%%%引入噪聲能量的權值   可以適當修改
      threshold=zeros(3,3);
      threshold(1,1)=1.10;threshold(1,2)=1.10;threshold(1,3)=1.10;
      threshold(2,1)=1.30;threshold(2,2)=1.30;threshold(2,3)=1.30;
      threshold(3,1)=1.50;threshold(3,2)=1.50;threshold(3,3)=1.50;
      
      %%%%%%%%%%%%%%%%初始化相關系數
      CorH1=zeros(r1,l1); CorV1=zeros(r1,l1); CorD1=zeros(r1,l1);
      
      CorH2=zeros(r2,l2); CorV2=zeros(r2,l2); CorD2=zeros(r2,l2);
      
      CorH3=zeros(r3,l3); CorV3=zeros(r3,l3); CorD3=zeros(r3,l3);
      %%%%%%%%%%%%%%計算不同尺度下小波系數的相關性%%%%%%%%%%%%%
      CorH1=WH1.*WA1;CorV1=WV1.*WA1;CorD1=WD1.*WA1;   %%計算細節和主體之間的相關性,分3個子帶
     
      CorH2=WH2.*WA2;CorV2=WV2.*WA2;CorD2=WD2.*WA2;
       
      CorH3=WH3.*WA3;CorV3=WV3.*WA3;CorD3=WD3.*WA3;
      
      %%%%%%%%%%%%%%%初始化邊緣點個數
      N1=r1*l1; N2=r2*l2; N3=r3*l3;   %%%%%%%%%%%%%%總的點的個數
      k=zeros(3,3);                   %%%%%%%%%%%%%邊緣點的個數
      
      %%%%%%%%%尋找掩膜的寫成一個函數來調用  此處先求     H  
      pw=sum(sum(WH1.*WH1));
      pcor=sum(sum(CorH1.*CorH1));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r1,l1);
      NCor=CorH1*normalization;
      for i=1:1:r1
          for j=1:1:l1
              if abs(NCor(i,j))>=abs(WH1(i,j))
                  CorH1(i,j)=0;
                  WH1(i,j)=0;
                  MaskH1(i,j)=1;
                  k(1,1)=k(1,1)+1;
              end
          end
      end
      %%%%%%%%%%%%利用一次小波變換的一次比較,剩余的小波系數作為噪聲
      %%%%%%%%%%%%然后,利用這個噪聲推廣到全局。
      pw=sum(sum(WH1.*WH1));
      SNH=pw;
      snh1=SNH/(N1-k(1,1));
      snh2=snh1/4;
      snh3=snh1/16;
      %%%%%%%%%%開始倒著計算掩膜,這樣是改進的方法!    H3
      pw=sum(sum(WH3.*WH3));
      pcor=sum(sum(CorH3.*CorH3));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r3,l3);
      NCor=CorH3*normalization;     
      while (0.95*pw>threshold(3,1)*(N3-k(3,1))*snh1)&(k(3,1)<N3) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(3,1);
         [WH3,CorH3,MaskH3,k(3,1),pw,NCor]= findmask(WH3,CorH3,MaskH3,k(3,1),NCor,weight(3));
         if k(3,1)==a
            break;
         end
      end
      %%%%%%%%%%%%%開始計算第3層水平小波變換           H2
      pw=sum(sum(WH2.*WH2));
      pcor=sum(sum(CorH2.*CorH2));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r2,l2);
      NCor=CorH2*normalization;     
      while (0.95*pw>threshold(2,1)*(N2-k(2,1))*snh1)&(k(2,1)<N2) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(2,1);
         [WH2,CorH2,MaskH2,k(2,1),pw,NCor]= findmask(WH2,CorH2,MaskH2,k(2,1),NCor,weight(2));
         if k(2,1)==a
            break;
         end
      end
      %%%%%%%%%%%%%%%改進的算法,也需要計算第一層,因為引入了權重和百分比,還要由此計算噪聲掩膜
      pw=sum(sum(WH1.*WH1));
      pcor=sum(sum(CorH1.*CorH1));                  % H1
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r1,l1);
      NCor=CorH1*normalization; 
      while (0.95*pw>threshold(1,1)*(N1-k(1,1))*snh1)&(k(1,1)<N1) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(1,1);
         [WH1,CorH1,MaskH1,k(1,1),pw,NCor]= findmask(WH1,CorH1,MaskH1,k(1,1),NCor,weight(1));
         if k(1,1)==a
            break;
         end
      end
      %%%%%%%%%%即小波濾波的第三個要素,只有是大尺度的邊緣,才能是小尺度的邊緣。
      MaskH2=MaskH2.*pixeldup(MaskH3,1);
      MaskH1=MaskH1.*pixeldup(MaskH2,1);
      
      %%%%%%%%%尋找掩膜的寫成一個函數來調用  此處先求          V  
      pw=sum(sum(WV1.*WV1));
      pcor=sum(sum(CorV1.*CorV1));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r1,l1);
      NCor=CorV1*normalization;
      for i=1:1:r1
          for j=1:1:l1
              if abs(NCor(i,j))>=abs(WV1(i,j))
                  CorV1(i,j)=0;
                  WV1(i,j)=0;
                  MaskV1(i,j)=1;
                  k(1,2)=k(1,2)+1;
              end
          end
      end
      %%%%%%%%%%%%利用一次小波變換的一次比較,剩余的小波系數作為噪聲
      %%%%%%%%%%%%然后,利用這個噪聲推廣到全局。
      pw=sum(sum(WV1.*WV1));
      SNV=pw;
      snv1=SNV/(N1-k(1,2));
      snv2=snv1/4;
      snv3=snv1/16;
      %%%%%%%%%%開始倒著計算掩膜,這樣是改進的方法!    V3
      pw=sum(sum(WV3.*WV3));
      pcor=sum(sum(CorV3.*CorV3));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r3,l3);
      NCor=CorV3*normalization;     
      while (0.95*pw>threshold(3,2)*(N3-k(3,2))*snv1)&(k(3,2)<N3) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(3,2);
         [WV3,CorV3,MaskV3,k(3,2),pw,NCor]= findmask(WV3,CorV3,MaskV3,k(3,2),NCor,weight(3));
         if k(3,2)==a
            break;
         end
      end
      %%%%%%%%%%%%%開始計算第3層水平小波變換           V2
      pw=sum(sum(WV2.*WV2));
      pcor=sum(sum(CorV2.*CorV2));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r2,l2);
      NCor=CorV2*normalization;     
      while (0.95*pw>threshold(2,2)*(N2-k(2,2))*snv1)&(k(2,2)<N2) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(2,2);
         [WV2,CorV2,MaskV2,k(2,2),pw,NCor]= findmask(WV2,CorV2,MaskV2,k(2,2),NCor,weight(2));
         if k(2,2)==a
            break;
         end
      end
      %%%%%%%%%%%%%%%改進的算法,也需要計算第一層,因為引入了權重和百分比,還要由此計算噪聲掩膜
      pw=sum(sum(WV1.*WV1));
      pcor=sum(sum(CorV1.*CorV1));                  % V1
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r1,l1);
      NCor=CorV1*normalization; 
      while (0.95*pw>threshold(1,2)*(N1-k(1,2))*snv1)&(k(1,2)<N1) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(1,2);
         [WV1,CorV1,MaskV1,k(1,2),pw,NCor]= findmask(WV1,CorV1,MaskV1,k(1,2),NCor,weight(1));
         if k(1,2)==a
            break;
         end
      end
      %%%%%%%%%%即小波濾波的第三個要素,只有是大尺度的邊緣,才能是小尺度的邊緣。
      MaskV2=MaskV2.*pixeldup(MaskV3,1);
      MaskV1=MaskV1.*pixeldup(MaskV2,1);
      
      %%%%%%%%%尋找掩膜的寫成一個函數來調用  此處先求      D  
      pw=sum(sum(WD1.*WD1));
      pcor=sum(sum(CorD1.*CorD1));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r1,l1);
      NCor=CorD1*normalization;
      for i=1:1:r1
          for j=1:1:l1
              if abs(NCor(i,j))>=abs(WD1(i,j))
                  CorD1(i,j)=0;
                  WD1(i,j)=0;
                  MaskD1(i,j)=1;
                  k(1,3)=k(1,3)+1;
              end
          end
      end
      %%%%%%%%%%%%利用一次小波變換的一次比較,剩余的小波系數作為噪聲
      %%%%%%%%%%%%然后,利用這個噪聲推廣到全局。
      pw=sum(sum(WD1.*WD1));
      SND=pw;
      snd1=SND/(N1-k(1,3));
      snd2=snd1/4;
      snd3=snd1/16;
      %%%%%%%%%%開始倒著計算掩膜,這樣是改進的方法!    D3
      pw=sum(sum(WD3.*WD3));
      pcor=sum(sum(CorD3.*CorD3));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r3,l3);
      NCor=CorD3*normalization;
      while (0.95*pw>threshold(3,3)*(N3-k(3,3))*snd1)&(k(3,3)<N3) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(3,3);
         [WD3,CorD3,MaskD3,k(3,3),pw,NCor]= findmask(WD3,CorD3,MaskD3,k(3,3),NCor,weight(3));
         if k(3,3)==a
            break;
         end
      end
      %%%%%%%%%%%%%開始計算第3層水平小波變換           D2
      pw=sum(sum(WD2.*WD2));
      pcor=sum(sum(CorD2.*CorD2));
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r2,l2);
      NCor=CorD2*normalization;     
      while (0.95*pw>threshold(2,3)*(N2-k(2,3))*snd1)&(k(2,3)<N2) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(2,3);
         [WD2,CorD2,MaskD2,k(2,3),pw,NCor]= findmask(WD2,CorD2,MaskD2,k(2,3),NCor,weight(2));
         if k(2,3)==a
            break;
         end
      end
      %%%%%%%%%%%%%%%改進的算法,也需要計算第一層,因為引入了權重和百分比,還要由此計算噪聲掩膜
      pw=sum(sum(WD1.*WD1));
      pcor=sum(sum(CorD1.*CorD1));                  % D1
      normalization=sqrt(pw/(pcor+eps));
      NCor=zeros(r1,l1);
      NCor=CorD1*normalization;  
      while (0.95*pw>threshold(1,3)*(N1-k(1,3))*snd1)&(k(1,3)<N1) %新的約束條件,增加了噪聲影響權重,還有增加了數值百分比
          a=k(1,3);
         [WD1,CorD1,MaskD1,k(1,3),pw,NCor]= findmask(WD1,CorD1,MaskD1,k(1,3),NCor,weight(1));
         if k(1,3)==a
            break;
         end
      end
      %%%%%%%%%%即小波濾波的第三個要素,只有是大尺度的邊緣,才能是小尺度的邊緣。
      MaskD2=MaskD2.*pixeldup(MaskD3,1);
      MaskD1=MaskD1.*pixeldup(MaskD2,1);
            
      %%%%%%%%%%%%%%%%%對原始數據施加屏蔽濾波
      WH1=H1.*MaskH1; WV1=V1.*MaskV1; WD1=D1.*MaskD1;
      
      WH2=H2.*MaskH2; WV2=V2.*MaskV2; WD2=D2.*MaskD2;
      
      WH3=H3.*MaskH3; WV3=V3.*MaskV3; WD3=D3.*MaskD3;
      %%%%%%%%%%%%%%%%重構小波,使得能夠重新恢復圖像
      WA2=idwt2(WA3,WH3,WV3,WD3,'haar');
      WA1=idwt2(WA2,WH2,WV2,WD2,'haar');
      WA0=idwt2(WA1,WH1,WV1,WD1,'haar');   %%%%%%%%重構出濾波后的圖像
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      D=A0-WA0;               %%%%%%%得到噪聲圖像
      N=D.*D;                 %%%%%%%得到噪聲能量
      SUMN=sum(sum(N));       %%%%%%%噪聲總能量
      SUMNOISE=SNH+SNV+SND;
      imshow(uint8(abs(D)));  %%%%%%%%顯示噪聲圖像
      %%%%%%%%%%%%求出噪點個數
      k(1,:)=r1*l1-k(1,:);
      k(2,:)=r2*l2-k(2,:);
      k(3,:)=r3*l3-k(3,:);
      %%%%%%%%%%%%觀察噪聲層噪點能量
      n=zeros(1,3);
      n(1)=sum(k(1,:));       %%%%%%%%小尺度下的噪點個數
      n(2)=sum(k(2,:));       %%%%%%%%第二層下的噪點個數
      n(3)=sum(k(3,:));       %%%%%%%%第三層下的噪點個數
      
   





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费三级在线| 粉嫩高潮美女一区二区三区| 国产欧美一区二区三区鸳鸯浴| 国产激情精品久久久第一区二区| 亚洲精品视频一区二区| 日韩视频在线你懂得| 成人app在线| 蜜臂av日日欢夜夜爽一区| 亚洲日本青草视频在线怡红院| 欧美精品v国产精品v日韩精品| 丁香六月久久综合狠狠色| av在线不卡电影| 免费成人小视频| 亚洲免费观看高清完整| 久久综合色之久久综合| 在线观看一区日韩| aaa亚洲精品一二三区| 久久国产精品99久久人人澡| 亚洲曰韩产成在线| 国产精品久久久久久久久晋中| 日韩欧美中文字幕制服| 色吧成人激情小说| www.在线欧美| 国产一区二三区| 日韩vs国产vs欧美| 一区二区三区小说| 中文字幕中文字幕一区| 国产日韩欧美制服另类| 精品福利一区二区三区| 911精品产国品一二三产区| 在线看国产日韩| 99热精品国产| 成年人国产精品| 成人免费三级在线| 国产黄色成人av| 懂色av一区二区三区免费观看| 精品亚洲porn| 精品伊人久久久久7777人| 奇米777欧美一区二区| 三级影片在线观看欧美日韩一区二区| 亚洲精品成人a在线观看| 国产精品成人一区二区三区夜夜夜| 精品sm在线观看| 久久综合狠狠综合久久综合88| 欧美一区二区三区男人的天堂| 69p69国产精品| 777奇米四色成人影色区| 欧美高清视频www夜色资源网| 欧美在线免费播放| 欧美午夜一区二区三区免费大片| 91蜜桃传媒精品久久久一区二区| 波多野洁衣一区| aaa亚洲精品| 色哟哟一区二区在线观看| 97精品国产97久久久久久久久久久久| 91色视频在线| 欧洲一区二区三区免费视频| 欧美日韩色综合| 91精品一区二区三区久久久久久| 欧美区视频在线观看| 7878成人国产在线观看| 日韩欧美久久一区| 久久精品一区二区| 国产精品久久精品日日| 亚洲欧美日韩一区二区| 99久久er热在这里只有精品66| 成人激情免费电影网址| 色综合久久66| 欧美色图在线观看| 日韩欧美国产精品一区| 国产午夜亚洲精品不卡| 国产精品伦理在线| 一区二区三区欧美| 午夜精品久久久久久久久| 毛片av一区二区| 成人精品一区二区三区中文字幕 | 中文字幕日本不卡| 亚洲一区在线观看免费观看电影高清| 日韩精品亚洲一区二区三区免费| 图片区日韩欧美亚洲| 国内精品久久久久影院色| 成人午夜电影小说| 欧美日韩精品系列| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品少妇自拍| 一区二区三区四区蜜桃| 免费在线观看一区| 粉嫩一区二区三区在线看| 色哟哟一区二区在线观看| 欧美一二区视频| 国产精品情趣视频| 日本成人在线视频网站| 国产成人免费在线观看不卡| 欧美中文字幕一二三区视频| 久久综合999| 亚洲激情av在线| 国产美女娇喘av呻吟久久 | 日韩一卡二卡三卡国产欧美| 国产欧美精品一区二区色综合| 成人自拍视频在线观看| 91精品国产免费久久综合| 亚洲国产精品精华液2区45| 亚洲国产一区二区在线播放| 国产成人综合在线观看| 欧美在线小视频| 欧美国产一区二区| 日韩成人午夜电影| 日本精品一区二区三区高清| 国产日产亚洲精品系列| 丝袜美腿亚洲色图| 91丨九色丨国产丨porny| 2023国产精华国产精品| 图片区小说区国产精品视频 | 日韩一级高清毛片| 亚洲日本一区二区三区| 国产一区二区免费视频| 欧美另类一区二区三区| 亚洲激情av在线| 91影视在线播放| 中文字幕第一区| 狠狠色丁香久久婷婷综合_中| 欧美区在线观看| 一区二区三区视频在线观看| 丁香一区二区三区| 精品国产伦一区二区三区观看体验 | 捆绑调教一区二区三区| 欧美四级电影网| 亚洲精品第1页| 国产在线日韩欧美| 99re成人精品视频| 中文字幕av不卡| 国产精品综合二区| 日韩精品专区在线影院观看| 日本欧美一区二区三区乱码| 欧美乱妇23p| 午夜婷婷国产麻豆精品| av午夜一区麻豆| 自拍av一区二区三区| 成人精品国产一区二区4080| 337p亚洲精品色噜噜| 亚洲综合激情网| 在线观看视频一区二区欧美日韩| 中文字幕在线播放不卡一区| 成人短视频下载| 综合电影一区二区三区| 99久久婷婷国产综合精品电影| 国产精品区一区二区三区| 成人动漫精品一区二区| 国产日韩精品一区二区浪潮av| 成人久久久精品乱码一区二区三区| 国产亚洲一区二区三区四区| 国产精品一线二线三线精华| 2023国产精品视频| 成人久久18免费网站麻豆| 中文字幕在线观看一区| 91在线视频免费91| 亚洲男人的天堂av| 91年精品国产| 亚洲国产日日夜夜| 欧美日韩免费不卡视频一区二区三区| 一区二区三区日韩精品视频| 欧美日韩综合在线免费观看| 首页国产丝袜综合| 日韩欧美国产综合在线一区二区三区| 国产一区二区在线视频| 国产精品毛片高清在线完整版| 色欧美乱欧美15图片| 日韩中文字幕一区二区三区| 日韩一区二区影院| 国产精品综合视频| 亚洲日本护士毛茸茸| 欧美日韩精品免费| 美女视频黄频大全不卡视频在线播放| 国产亚洲女人久久久久毛片| 99精品视频一区| 亚洲成在人线免费| 精品国产乱码久久久久久牛牛| 国产v日产∨综合v精品视频| 亚洲视频电影在线| 欧美一区二区三区影视| 国产成人在线色| 一区二区三区资源| 日韩欧美一级特黄在线播放| 99国产欧美另类久久久精品| 日韩成人精品在线观看| 国产清纯在线一区二区www| 在线观看国产一区二区| 美国十次综合导航| 亚洲三级电影网站| 51久久夜色精品国产麻豆| 成人久久久精品乱码一区二区三区 | 久久成人羞羞网站| 国产精品黄色在线观看| 正在播放一区二区| 99久久久国产精品| 久久爱www久久做| 国产精品国模大尺度视频| 日韩精品中午字幕| 色噜噜狠狠一区二区三区果冻| 精品一区二区三区影院在线午夜|