日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【图像处理】MATLAB:退化函数及多种复原方法

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【图像处理】MATLAB:退化函数及多种复原方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

退化函數建模

??通過點擴散函數 PSF 進行圖像復原的實驗,添加適當的噪聲。

??fspecial函數中,’motion’指的是運動模糊算子。

代碼示例

% checkerboard產生測試板圖像,第一個參數是每個正方形一邊的像素數,第二個參數行數,第三為列數(缺省則等于行數) f = checkerboard(8); % 產生一個一面為8個正方形的測試板 PSF = fspecial('motion',7,45); % 運動模糊,PSF剛好為空間濾波器 gb = imfilter(f,PSF,'circular'); % 減少邊界效應 noise = imnoise(zeros(size(f)),'gaussian',0,0.001); % 高斯噪聲 g = gb + noise; % 添加高斯噪聲構造退化的圖像模型subplot(2,2,1);imshow(pixeldup(f,8),[ ]);title('原圖像'); % 大圖像運算過慢,故選用小圖像來節省時間, subplot(2,2,2);imshow(gb);title('運動模糊圖像'); % 以顯示為目的,可通過像素賦值來放大圖像。 subplot(2,2,3);imshow(noise,[ ]);title('高斯噪聲圖像'); subplot(2,2,4);imshow(g);title('運動模糊+高斯噪聲');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

運行結果


頻域濾波降低周期噪聲

??周期噪聲本身表現為類似沖擊的串,這種串在傅里葉頻譜中通常是可見的。濾除這些成分的主要途徑是通過陷波濾波。n階巴特沃茲陷波濾波器的傳遞函數如下:


直接逆濾波


維納濾波



代碼示例

f = checkerboard(8); % 產生一個一面為8個正方形的測試板 PSF = fspecial('motion',7,45); % 運動模糊,PSF剛好為空間濾波器 gb = imfilter(f,PSF,'circular'); % 減少邊界效應 noise = imnoise(zeros(size(f)),'gaussian',0,0.001); % 高斯噪聲 g = gb + noise; % 添加高斯噪聲構造退化的圖像模型fr1 = deconvwnr(g,PSF); % 直接逆濾波Sn = abs(fft(noise)).^2; % 噪聲功率譜 nA = sum(Sn(:))/prod(size(noise)); % 平均噪聲功率,prod計算數組元素的連乘積。 Sf = abs(fft2(f)).^2; % 圖像功率譜 fA = sum(Sf(:))/prod(size(f)); % 平均圖像功率 R = nA/fA; % 噪信功率比 fr2 = deconvwnr(g,PSF,R); % 參數維納濾波器NCORR = fftshift(real(ifft2(Sn))); % 自相關函數 ICORR = fftshift(real(ifft2(Sf))); fr3 = deconvwnr(g,PSF,NCORR,ICORR);subplot(2,2,1);imshow(g,[]);title('噪聲圖像'); subplot(2,2,2);imshow(fr1);title('逆濾波結果'); subplot(2,2,3);imshow(fr2);title('使用常數比率的維納濾波的結果'); subplot(2,2,4);imshow(fr3);title('使用自相關函數的維納濾波的結果');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

運行結果


正則濾波(約束的最小二乘方濾波)

算法另尋…

代碼示例

f = checkerboard(8); % 產生一個一面為8個正方形的測試板 PSF = fspecial('motion',7,45); % 運動模糊,PSF剛好為空間濾波器 gb = imfilter(f,PSF,'circular'); % 減少邊界效應 noise = imnoise(zeros(size(f)),'gaussian',0,0.001); % 高斯噪聲 g = gb + noise; % 添加高斯噪聲構造退化的圖像模型fr1 = deconvreg(g,PSF,4); % 正則濾波器 fr2 = deconvreg(g,PSF,0.4,[1e-7 1e7]);subplot(1,3,1);imshow(g);title('運動模糊+高斯噪聲(g)'); subplot(1,3,2);imshow(fr1);title('正則濾波器'); subplot(1,3,3);imshow(fr2);title('正則濾波器(縮小范圍)');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

運行結果


使用L-R算法的迭代非線性復原

??前面所討論的圖像復原方法都是線性的,而LR算法是非線性方法,又稱Lucy-Richardson算法。

代碼示例

f = checkerboard(8); % 產生64×64像素的方形圖像 PSF = fspecial('gaussian',7,10); % 產生一個大小為7×7且標準偏差為10的高斯PSF SD = 0.01; % 標準偏差 g = imnoise(imfilter(f,PSF),'gaussian',0,SD^2); % 添加均值為0、標準偏差為0.01的高斯噪聲DAMPAR = 10*SD; % 結果圖像與原圖像的偏離閾值 LIM = ceil(size(PSF,1)/2); WEIGHT = zeros(size(g)); % WEIGHT數組大小64×64 WEIGHT(LIM+1:end-LIM,LIM+1:end-LIM)=1; % WEIGHT數組有值為0的4像素寬的邊界,其余像素為1f1 = deconvlucy(g,PSF,5,DAMPAR,WEIGHT); % 迭代5次 f2 = deconvlucy(g,PSF,10,DAMPAR,WEIGHT); % 迭代10次 f3 = deconvlucy(g,PSF,20,DAMPAR,WEIGHT); % 迭代20次 f4 = deconvlucy(g,PSF,100,DAMPAR,WEIGHT); % 迭代100次subplot(2,3,1);imshow(pixeldup(f,8));title('原圖像'); subplot(2,3,2);imshow(g);title('高斯噪聲+運動模糊'); subplot(2,3,3);imshow(f1);title('L-R算法迭代5次'); subplot(2,3,4);imshow(f2);title('L-R算法迭代10次'); % 圖像雖然改進,但依然模糊 subplot(2,3,5);imshow(f3);title('L-R算法迭代20次'); % 迭代20次為合理復原 subplot(2,3,6);imshow(f4);title('L-R算法迭代100次'); % 除了稍微清晰明亮,并無顯著改進
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

運行結果


盲去卷積

??不以PSF知識為基礎的圖像復原方法統稱為盲去卷積算法。

代碼示例

PSF = fspecial('gaussian',7,10); SD = 0.01; g = imnoise(imfilter(f,PSF),'gaussian',0,SD^2);INITPSF = ones(size(PSF)); % 點擴散函數的初始估計 DAMPAR = 10*SD; % 結果圖像與原圖像的偏離閾值 LIM = ceil(size(PSF,1)/2); WEIGHT = zeros(size(g)); % WEIGHT數組大小64×64 WEIGHT(LIM+1:end-LIM,LIM+1:end-LIM)=1; % WEIGHT數組有值為0的4像素寬的邊界,其余像素為1 [fr1,PSFe1] = deconvblind(g,INITPSF,5,DAMPAR,WEIGHT); % 盲去卷積迭代5次 [fr2,PSFe2] = deconvblind(g,INITPSF,10,DAMPAR,WEIGHT); % 盲去卷積迭代10次 [fr3,PSFe3] = deconvblind(g,INITPSF,20,DAMPAR,WEIGHT); % 盲去卷積迭代20次subplot(2,2,1);imshow(pixeldup(PSF,73),[ ]);title('退化函數的PSF'); subplot(2,2,2);imshow(pixeldup(PSFe1,73),[ ]);title('盲去卷積迭代5次'); subplot(2,2,3);imshow(pixeldup(PSFe2,73),[ ]);title('盲去卷積迭代10次'); subplot(2,2,4);imshow(pixeldup(PSFe3,73),[ ]);title('盲去卷積迭代20次'); % 最接近真正PSF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

運行結果

總結

以上是生活随笔為你收集整理的【图像处理】MATLAB:退化函数及多种复原方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜影院一区二区三区 | 日本少妇xxxxxx | 日韩精品免费视频 | 亚洲天堂热 | 午夜视频在线观看一区二区 | 在线国产91 | 亚洲综合精品国产一区二区三区 | 在线免费观看中文字幕 | 黄色片免费看 | 久久艹久久 | 国产精品高潮呻吟久久 | 精品小视频在线观看 | a级片毛片| 动漫美女靠逼 | 欧美久久一区 | 国产欧美一区二区三区精华液好吗 | 王者后宫yin肉h文催眠 | 国产三级在线 | av免费片 | 欧州一区二区 | 精品久久久久久久久久 | 天天综合色网 | 欧美性在线观看 | 男女av| 亚洲精品久久久久久国产精华液 | 热热色国产 | 九九九热精品 | 日本三级视频在线观看 | 伊人青青操 | 中文字幕人妻伦伦 | 黄色aaaaa| 亚洲国产免费av | 精品国产av色一区二区深夜久久 | 国产剧情久久久 | 亚洲网站免费观看 | 成人无码av片在线观看 | 国产在线视频网址 | 国产精品国产三级国产普通话对白 | 国产四区 | av电影中文字幕 | av色图| 亚洲精品一区二区三区影院忠贞 | 美女黄色在线观看 | 我会温柔一点的日剧 | 香蕉一区二区 | 亚洲欧美日韩偷拍 | 久久久精品一区二区三区 | 欧美福利视频在线观看 | 小明天天看 | 国产麻豆精品一区二区 | jizz一区二区三区 | 久久精品免费在线观看 | 美女脱得一干二净 | 国产稀缺精品盗摄盗拍 | 七仙女欲春2一级裸体片 | 六十路息与子猛烈交尾 | 91久久精品www人人做人人爽 | 欧美国产视频一区 | 在线观看中文字幕第一页 | 国产乱子伦一区二区 | 日韩免费高清视频 | 久久黄视频 | 九色国产精品 | 欧美视频一二区 | 超碰日韩在线 | 国产成人综合欧美精品久久 | 天天色影院 | 日韩在线一区二区三区 | 国产三级久久久 | 国产精品日韩精品欧美精品 | 国产精品久久久久桃色tv | 午夜精| av在线电影观看 | 超碰成人久久 | 91久久免费 | 人妻互换一二三区激情视频 | 内射合集对白在线 | 美女三级黄色片 | 97成人精品| 亚洲日本中文字幕在线 | 成人看的视频 | 成人娱乐网 | 国产主播一区二区三区 | 久久精品视频日本 | 亚洲玖玖爱 | 中文字幕av亚洲精品一部二部 | a v在线视频 | 动漫一区二区三区 | www.日日干| 五月天激情四射 | 一区二区三区免费网站 | 日韩爽片 | 蜜乳av中文字幕 | 久久久久99精品成人片三人毛片 | 成人免费午夜 | 日韩香蕉视频 | 国产成人亚洲综合a∨婷婷 台湾a级片 | 日本成人免费网站 | 色多多污|