基于matlab的退化图像复原(三)------维纳滤波复原

还是照着书上推了一遍,

反正写一遍之后很好理解,

也许是只是这点算法比较简单基础。。。

讲到底还是统计的知识,二维的最小二乘法,

让均方差最小

放代码:

I=imread(‘src.png‘);
I0=rgb2gray(I);
subplot(151);
imshow(I0);
title(‘src‘);
H=fspecial(‘motion‘,30,45); %运动卷积的偏移矩阵
MotionBlur=imfilter(I0,H,0,‘conv‘); %卷积
MF=imfilter(I0,H,‘circular‘,‘conv‘);%图像大小通过将图像看成是一个二维周期函数的一个周期来扩展
subplot(152);
imshow(MotionBlur);
title(‘MotionBlur‘)
subplot(153);
imshow(MF);
title(‘MF‘)
wnr=deconvwnr(MotionBlur,H);
subplot(154);
imshow(wnr)
title(‘MotionBlur复原‘)
wnr1=deconvwnr(MF,H);
subplot(155);
imshow(wnr1)
title(‘MF复原‘)

  

有个问题就是imfilter的补充矩阵,里面的circular是按周期来补矩阵,这个复原效果比较好。

直接补0,是MotionBlur这个效果。

参考《MATLAB图像处理超级学习手册》

时间: 2024-08-26 06:46:02

基于matlab的退化图像复原(三)------维纳滤波复原的相关文章

基于matlab的退化图像复原(二)------逆滤波复原

差不多就是这个理论,傅里叶变换之后除掉退化函数的傅里叶变换,就变回来了. 说是这么说,写出来就是这样.手写公式简单得多,人懒就是任性. matlab代码. clc I=imread('src.png'); I0=rgb2gray(I); subplot(231); imshow(I0); title('src'); [m,n]=size(I0); F=fftshift(fft2(I0)); k=0.0025; H=[]; for u=1:m for v=1:n q=((u-m/2)^2+(v-n

基于matlab的退化图像复原(四)------Lucy-Richarson滤波复原

Lucy-Richarson滤波复原 I0=imread('src.png'); I=rgb2gray(I0); subplot(341); imshow(I); title('src'); subplot(345); imshow(I); title('src'); subplot(349); imshow(I); title('src'); H=fspecial('motion',20,30); %运动卷积的偏移矩阵 MotionBlur=imfilter(I,H); %卷积 subplot

基于matlab的退化图像复原(一)------图像退化处理

图像恢复技术是图像处理领域一类重要的处理技术,与图像增强等其他基本图像处理技术类似,该技术也是以获取视觉质量得到某种程度改善为目的的,所不同的是图像恢复过程需要根据指定的图像退化模型来完成,根据这个退化模型对在某种情况下退化或恶化了的退化图像进行恢复,以获取到原始的.未经过退化的原始图像.换句话说,图像恢复的处理过程实际是对退化图像品质的提升,并通过图像品质的提升来达到图像在视觉上的改善. 这是MATLAB的自带函数库里的一些函数, 把它调用出来研究理解一下 分别是运动模糊,圆盘模糊,钝化模糊.

基于MATLAB的GUI(Graphical User Interface)音频实时显示设计

摘要:本文章的设计主要讲基于matlab的gui音频实时显示设计,此次设计的gui相当于一个简洁的音乐播放器,界面只有”录音“和”播放“两个控件,哈哈,够简洁吧.通过”录音“按钮可以实现声音从电脑的声卡录入,并且实时显示录入声音的时域图形和频域图形:待录音结束,通过”播放“按钮可以播放刚录入的声音,并且一边播放一遍实时显示时域和频域图形.本设计的编码在matlab2013a上亲测,可以实现... 一.首先matlab的gui界面设计 打开matlab—>在命令行执行guide—>出现gui编辑

【原】基于matlab的蓝色车牌定位与识别---绪论

本着对车牌比较感兴趣,自己在课余时间摸索关于车牌的定位与识别,现将自己所做的一些内容整理下,也方便和大家交流. 考虑到车牌的定位涉及到许多外界的因素,因此有必要对车牌照的获取条件进行一些限定: 一.大部分车牌照都是用自己的手机照的,大小在1M左右,距离车牌照距离3m左右.这样保证所获取的车牌照有一定的规律,否则随便一张是无法进行定位的. 二.本次仅针对蓝色车牌,至于其他像黄色,黑色车牌的没有做研究.感兴趣的可以自己找些资料,毕竟要做到全面,工作量还是很大的. 三. 相关的参考资料网上也挺多的,这

基于MATLAB的IIR滤波器设计与实现

基于MATLAB的IIR滤波器设计与实现 IIR滤波器的设计主要有经典设计法.直接设计法和最大平滑滤波器设计法三种方法. 1.经典设计法是基于模拟滤波器的变换原理,首先根据滤波器的技术指标设计出相应的模拟滤波器,然后再离散化为满足给定技术指标的数字滤波器.对应的工具函数由完全设计函数——butter.cheby1.cheby2.ellip.besself:阶数估计函数——buttord.cheb1ord.cheb2ord.ellipord:低通模拟原型滤波器函数——buttap.cheb1ap.

基于MATLAB的数字基带信号的各种码型的产生

单极性非归零码 单极性非归零码使用电平1来表示二元信息中的"1",用电平0来表示二元信息中的"0",电平在整个码元的时间里不变单极性非归零码的优点是实现简单,但由于含有直流分量,对在带限信道中的传输不利,另外当出现连续的0或连续的1时.电平长时间保持一个值,不利于提取时间信息以便获得同步. function y = snrz(x) %本函数实现将输入的一段二进制代码编为相应的单极性非归零码输出 %输入x为二进制码,输出y为编出的单极性非归零码 t0 = 300; t

基于MATLAB的多项式数据拟合方法研究-毕业论文

摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式曲线拟合的基本理论,对多项式数据拟合原理进行了全方面的理论阐述,同时也阐述了曲线拟合的基本原理及多项式曲线拟合模型的建立.具体记录了多项式曲线拟合的具体步骤,在建立理论的基础上具体实现多项式曲线的MATLAB实现方法的研究,采用MATLAB R2016a的平台对测量的数据进行多项式数据拟合,介绍了M

基于matlab的音频波形实时采集显示 v0.1

robj = audiorecorder(44100,16,1); %设置采样频率.采样位数.通道数 recordblocking(robj,1); %采集初步数据(1s长度) rdata = getaudiodata(robj); %获取音频数据 plot(rdata); %绘制波形 axis([1,44100,-0.1,0.1]); %设置固定坐标轴 drawnow %刷新显示 n = 100; %设定后续的采样更新次数,n与m可联合计算后续更新时间长度 m = 0.1; %设定更新间隔,m