图像复原实验

该实验涉及图像处理中的噪声建模和去除技术。首先,对图像添加高斯噪声并选择ROI区域,计算直方图和统计量。接着,使用反调和均值滤波和中值滤波对椒盐噪声进行复原。最后,针对模糊且含噪声的图像,应用直接逆滤波和维纳滤波进行恢复。
摘要由CSDN通过智能技术生成

实验六 图像复原

实验目的:

  1. 掌握如何对仅有噪声污染情况下的图像退化模型进行建模;
  2. 掌握噪声估计方法;
  3. 掌握仅有噪声的复原方法;
  4. 掌握直接逆滤波和维纳滤波方法。

实验内容:

  1. 1)对灰度图像’ckt_board.png’添加均值为0,方差为0.01的高斯噪声;

2)使用函数roipoly选择尽可能与背景一样无特色的区域;

3)参照函数histroi画出ROI区域的直方图;

4)使用函数statmoments计算出直方图的均值和方差;

5)使用函数imnoise2产生相应噪声的直方图。要求给出以交互式产生的ROI图、ROI直方图、使用函数imnoise2产生的直方图,并使用函数title()为得到每幅图像取一个合适的名字,以便区分。

请将实验代码贴在此处:

f=imread('ckt_board.png');

g=imnoise(f,'gaussian',0,0.01);

imshow(g);title('添加高斯噪声');

B=roipoly(f);

imshow(B);

title('选择与背景一样无特色的区域');

[u,nuv]=statmoments(p,2);

num=sum(B(:));

gaus=imnoise2('gaussian',num,1,148,20);

histogram(gaus,256);title('imnoise2产生的直方图,');

请将运行结果贴在此处:

        1)对灰度图像’ckt_board.png’添加均值为0,方差为0.01的高斯噪声;

 

2)使用函数roipoly选择尽可能与背景一样无特色的区域;

 

3)参照函数histroi画出ROI区域的直方图;

 

4)使用函数statmoments计算出直方图的均值和方差;

 

5)使用函数imnoise2产生相应噪声的直方图。

 

3. 1)生成反调和均值滤波,对circuit-board-pepper.tif’、‘circuit-board-salt.tif’进行复原。

2)对图片ckt-board-saltpep.tif’,采用一般的中值滤波器和自适应中值滤波器完成滤波,观察得到的结果

请将实验代码贴在此处:

f=imread('ckt_board.tif');

f=tofloat(f);

[m,n]=size(f);

r=imnoise2('salt & pepper',m,n,0.1,0);

gp=f;

gp(r==1)=0;

figure

subplot(221),imshow(gp);title('circuit-boart-pepper');

r=imnoise2('salt & pepper',m,n,0,0.1);

gs=f;

gs(r==1)=255;

subplot(222),imshow(gs);title('circuit-boart-salt');

fp=spfilt(gp,'chmean',3,3,1.5);

subplot(223),imshow(fp);title('中值滤波器');

gg=imnoise(f,'salt & pepper',0.25);

res = adpmedian(gg,15);

subplot(224),imshow(res);title(' 自适应中值滤波器');

请将运行结果贴在此处:

 

4. 1)完成有模糊的、有噪声图像的建模。

2)用直接逆滤波方法,维纳滤波方法恢复模糊的噪声图像。

请将实验代码贴在此处:

1)

clear;clc;close all;

%图像退化建模

f=checkerboard();

%f=imread('rice.png');

f=im2double(f);

[m,n]=size(f);

psf=fspecial('motion',7,45);

g=imfilter(f,psf,'circular');

noise=imnoise2('gaussian',m,n,0,sqrt(0.001));

g=g+noise;

%imshow(pixeldup(g,8),[]);

figure

subplot(121),imshow(f,[]);title('原图简单处理');

subplot(122),imshow(g,[]);title('模糊和有噪声的图像建模后');

2)

%直接逆滤波/信噪比为0

res1=deconvwnr(g,psf);

figure

subplot(121),imshow(res1,[]);title('直接逆滤波/信噪比为0');

%信噪比为常数

sn=abs(fft2(noise)).^2;

sf=abs(fft2(f)).^2;

na=sum(sn(:))/numel(noise);

fa=sum(sf(:))/numel(f);

nspr=fa/na;

res2=deconvwnr(g,psf,nspr);

subplot(122),imshow(res2,[]);title('信噪比为常数');

%自相关函数

ncorr=fftshift(real(ifft2(sn)));

fcorr=fftshift(real(ifft2(sf)));

res3=deconvwnr(g,psf,ncorr,fcorr);

res4=edgetaper(res3,psf);

figure

subplot(121),imshow(res3,[]);title('res3');

subplot(122),imshow(res4,[]);title('res4');

请将运行结果贴在此处:

1.完成有模糊的、有噪声图像的建模。

2.用直接逆滤波方法,维纳滤波方法恢复模糊的噪声图像。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值