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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数字图像处理实验5图像复原

發(fā)布時(shí)間:2024/7/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字图像处理实验5图像复原 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、實(shí)驗(yàn)?zāi)康?/strong>

(1)了解圖像復(fù)原的目的及意義,加深對(duì)圖像復(fù)原理論的認(rèn)識(shí)。

(2)掌握維納濾波復(fù)原基本原理。

(3)掌握約束最小二乘方復(fù)原方法。

(4)掌握盲解卷積復(fù)原方法

二、實(shí)驗(yàn)內(nèi)容

?(1)維納濾波復(fù)原。

?(2)約束最小二乘方復(fù)原

?(3)盲解卷積復(fù)原

三、實(shí)驗(yàn)代碼及結(jié)果、分析

(1)維納濾波復(fù)原

  • 代碼:

I=imread('E:\大三課件\大三下\數(shù)字圖像處理\實(shí)驗(yàn)\實(shí)驗(yàn)5\lena.jpg');

I=rgb2gray(I);

noise=5*randn(size(I)); ?????

noise = noise - min(min(noise));

J ?= double(I) +noise;

R1=wiener2(J,[10 10]); ???%未知噪聲

R2=wiener2(J,[10 10],noise); ?%已知噪聲分布

figure ?????

subplot(2,2,1),imshow(uint8(I));title('原始圖像'); ?????

subplot(2,2,2),imshow(uint8(J));title('退化圖像'); ?????

subplot(2,2,3),imshow(uint8(R1));title('盲復(fù)原');

subplot(2,2,4),imshow(uint8(R2));title('非盲復(fù)原');

  • 結(jié)果:

  • 分析:
  • 維納濾波又叫最小均方差濾波,它的目標(biāo)是找到一個(gè)原圖像f的估計(jì)圖像f',使得它們之間的均方誤差最小。 ?e^2 = E((f-f')^2)
  • randa()函數(shù)是產(chǎn)生隨機(jī)噪聲,nosize應(yīng)該是一個(gè)矩陣,min(min(noise))表示先取每列中的最小值,再取最小值中的最小值
  • 關(guān)于維納濾波函數(shù)有wiener2和deconvwnr,分別適用于灰度圖像和彩色圖像
  • R1為未知噪聲的分布,R2為已知噪聲分布
  • ?

    (2)約束最小二乘方復(fù)原方法

    • 代碼:

    I=imread('E:\大三課件\大三下\數(shù)字圖像處理\實(shí)驗(yàn)\實(shí)驗(yàn)5\lena.jpg');

    I=rgb2gray(I);I = im2double(I);[hei,wid,~] = size(I);

    PSF = fspecial('motion', 21, 11);%攝像物體逆時(shí)針?lè)较蛞?1角度運(yùn)動(dòng)了21個(gè)像素

    blurred = imfilter(I, PSF, 'conv', 'circular');%運(yùn)動(dòng)模糊圖像

    % 逆濾波結(jié)果

    If = fft2(blurred);Pf = psf2otf(PSF,[hei,wid]);deblurred =ifft2(If./Pf);

    % 運(yùn)動(dòng)模糊+高斯噪聲

    noise_mean = 0;noise_var = 0.00001;

    blurred_noisy = imnoise(blurred, 'gaussian',noise_mean, noise_var);

    % 約束最小二乘法

    p = [0 -1 0;-1 4 -1;0 -1 0];P = psf2otf(p,[hei,wid]);

    gama = 0.002;%γ設(shè)置成0.001左右會(huì)有比較好的效果If = fft2(blurred_noisy);numerator = conj(Pf);

    denominator = Pf.^2 + gama*(P.^2);

    deblurred2 = ifft2( numerator.*If./ denominator );

    subplot(2,3,1),imshow(I);title('原始圖像');

    subplot(2,3,2), imshow(blurred); title('運(yùn)動(dòng)模糊圖像');

    subplot(2,3,3), imshow(deblurred); title('運(yùn)動(dòng)模糊復(fù)原')

    subplot(2,3,4), imshow(blurred_noisy),title('運(yùn)動(dòng)模糊+噪聲圖像')

    subplot(2,3,5), imshow(deblurred2),title('無(wú)約束最小二乘法復(fù)原');

    subplot(2,3,6); imshow(deconvreg(blurred_noisy, PSF,0)); title('deconvreg函數(shù)復(fù)原');%自帶的去模糊deconvreg函數(shù)

    • 結(jié)果:

    • 分析:

    1、fspecial('type', len,theta)函數(shù),用于預(yù)定于濾波算子,type=motion為運(yùn)動(dòng)算子,theta參數(shù)表示逆時(shí)針?lè)较虻慕嵌?#xff0c;len表示運(yùn)動(dòng)了len個(gè)像素

    2、約束最小二乘方濾波效果比自帶的去模糊deconvreg函數(shù)好

    3、約束最小二乘方濾波對(duì)高噪聲和中等噪聲產(chǎn)生結(jié)果要好于維納濾波,對(duì)于低噪聲兩種濾波產(chǎn)生結(jié)果基本相等

    ?

    (3)盲解卷積復(fù)原方

    • 代碼:

    I=checkerboard(8);

    PSF=fspecial('gaussian',7,10);

    V=.0001;

    BlurredNoisy=imnoise(imfilter(I,PSF),'gaussian',0,V);

    WT=zeros(size(I));

    WT(5:end-4,5:end-4)=1;

    INITPSF=ones(size(PSF));

    FUN=inline('PSF+P1','PSF','P1');

    [J P]=deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT,FUN,0);

    subplot(131);imshow(I);title('原圖像');

    subplot(132);imshow(BlurredNoisy);title('運(yùn)動(dòng)模糊+噪聲圖像');

    subplot(133);imshow(J);title('盲去卷積');

    • 結(jié)果:

    • 分析:
  • 盲解卷積復(fù)原是指在沒有圖像退化先驗(yàn)知識(shí)、對(duì)退化系統(tǒng)了解不足的條件下,通過(guò)觀察退化圖像的多個(gè)圖像以某種方式抽出退化信息,進(jìn)行圖像復(fù)原
  • 函數(shù)imnoise 是表示添加噪聲污染一幅圖像,叫做噪聲污染圖像函數(shù),g=imnoise(f,'localvar',V)將均值為0,局部方差為V的高斯噪聲添加到圖像f上,其中V是與f大小相同的一個(gè)數(shù)組,它包含了每一個(gè)點(diǎn)的理想方差值
  • Inline()函數(shù):定義一個(gè)內(nèi)置函數(shù),本質(zhì)上說(shuō)跟function干的是一樣的事,只不過(guò)它可以直接內(nèi)嵌在命令行里,不用另外單獨(dú)定義function
  • 總結(jié)

    以上是生活随笔為你收集整理的数字图像处理实验5图像复原的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。