几种滤波
来源:互联网 发布:淘宝网阔腿裤 编辑:程序博客网 时间:2024/06/05 20:27
1.维纳滤波复原
I=checkerboard(8);
noise=0.1*randn(size(I));
PSF=fspecial(‘motion’,21,11);
Blurred=imfilter(I,PSF,’circular’);
BlurredNoisy=im2uint8(Blurred+noise);
NP=abs(fftn(noise)).^2;
NPOW=sum(NP(:)/prod(size(noise));
NCORR=fftshift(real(ifftn(NP)));
IP=abs(fftn(I)).^2;
IPOW=sum(IP(:)/prod(size(noise));
ICORR=fftshift(real(ifftn(IP)));
ICORR1=ICORR(:,ceil(size(I,1)/2));
NSR=NPOW/IPOW;
subplot(221);imshow(BlurredNoisy,[]);
title(‘模糊和噪声图像‘);
subplot(222);imshow(deconvwnr(BlurredNoisy,PSF,NSR),[]);
title(‘deconbwnr(A,PSF,NSR)’);
subplot(223);imshow(deconvwnr(BlurredNoisy,PSF,NCORR,ICORR),[]);
title(‘deconbwnr(A,PSF,NCORR,ICORR)’);
subplot(224);imshow(deconvwnr(BlurredNoisy,PSF,NPOW,ICORR1),[]);
title(‘deconbwnr(A,PSF,NPOW,ICORR_1_D)’);
2.规则化滤波复原程序
I=checkerboard(8);
PSF=fspecial(‘gaussian’,7,10);
V=.01;
BlurredNoisy=imnoise(imfilter(I,PSF),’gaussian’,0,V);
NOISEPOWER=V*prod(size(I));
[J LAGRA]=deconvreg(BlurredNoisy,PSF,NOISEPOWER);
subplot(221);imshow(BlurredNoisy);
title(‘A=Blurred and Noisy’);
subplot(222);imshow(J);
title(‘[J LAGRA]=deconvreg(A,PSF,NP)’);
subplot(223);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10));
title(‘deconvreg(A,PSF,[],0.1*LAGRA)’);
subplot(225);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10))
subplot(224);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA*10));
title(‘deconvreg(A,PSF,[],10*LAGRA’);
3.Lucy-Richardson复原程序举例
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;
J1=deconvlucy(BlurredNoisy,PSF);
J2=deconvlucy(BlurredNoisy,PSF,20,sqrt(V));
J3=deconvlucy(BlurredNoisy,PSF,20,sqrt(V),[],WT);
subplot(221);imshow(BlurredNoisy);
title(‘A=Blurred and Noisy’);
subplot(222);imshow(J1);
title(‘deconvlucy(A,PSF)’);
subplot(223);imshow(J2);
title(‘deconvlucy(A,PSF,NI,DP)’);
subplot(224);imshow(J3);
title(‘deconvlucy(A,PSF,NI,DP,[],WT)’);
4.盲去卷积复原
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(221);imshow(BlurredNoisy);
title(‘A=Blurred and Noisy’);
subplot(222);imshow(PSF,[]);
title(‘True PSF’);
subplot(223);imshow(J);
title(‘Deblured Image’);
subplot(224);imshow(P,[]);
title(‘Recovered PSF’);
- 几种滤波
- 几种软件滤波方法
- 几种经典的滤波算法
- 几种软件滤波算法的比较
- 几种经典的滤波算法(转)
- 整流之后几种滤波电路分析
- C语言几种软件滤波方式
- 几种经典的滤波算法
- 几种经典的滤波算法
- 几种时域滤波的比较
- AD滤波的几种简单方法
- 几种经典的滤波算法(转)
- 几种经典的滤波算法(转)
- 【转】几种经典的滤波算法
- opencv的几种滤波算子
- 介绍几种邻域滤波的方法
- 几种常用的滤波方法
- 单片机利用软件抗干扰的几种滤波方法
- 关于jdk动态代理+proxy参数作用的学习总结
- Java 通过JDBC连接Mysql数据库的方法和实例
- android开发环境adt-bundle链接
- 对象序列化
- 51nod-1241 特殊的排序
- 几种滤波
- php删除文件
- MYSQL去重最终版
- Android 初步学习第一个阶段--异步任务 ①
- python-命令行传参
- Jaxb2 实现JavaBean与xml互转
- 动态规划算法——矩阵连乘问题(java实现)
- arm开发板 移植SSH操作说明
- 实现通过html传递参数