主要内容

Deconvwnr.

使用维纳滤镜去模糊图像

描述

例子

j= deconvwnr(一世PSF.NSR.deconvolves形象一世使用Wiener滤波器算法,返回Deblurred ImagejPSF.是点传播功能(psf)一世卷积。NSR.为加性噪声的信噪比。该算法在估计值与真实图像之间的均方误差最小的意义上是最优的。

j= deconvwnr(一世PSF.ncorr.iCorr.deconvolves形象一世, 在哪里ncorr.是噪音的自相关函数iCorr.为原始图像的自相关函数。

j= deconvwnr(一世PSF.deconvolves形象一世使用没有估计噪声的维纳滤波器算法。在没有噪声的情况下,维纳滤波器等同于理想的逆滤波器。

例子

全部收缩

将图像读入工作区并显示它。

i = im2double(imread('cameraman.tif'));imshow(i);标题('原始图像​​(由麻省理工学院提供)');

图中包含一个坐标轴。具有标题原始图像(由MIT的礼貌)的轴包含类型图像的对象。

模拟运动模糊。

len = 21;Theta = 11;psf = fspecial('运动',len,theta);模糊= imfilter(i,psf,“conv”'圆');图,imshow(模糊)

图中包含一个坐标轴。轴包含类型图像的对象。

模拟加性噪声。

noise_mean = 0;noise_var = 0.0001;blurred_noisy = imnoise(模糊,'高斯'......noise_mean noise_var);图中,imshow (blurred_noisy)标题('模拟模糊和噪音'

图中包含一个坐标轴。具有标题模拟模糊和噪声的轴包含类型图像的对象。

尝试恢复假设没有噪音。

估计_nsr = 0;wnr2 = deconvwnr(blurred_noisy,psf,估计_nsr);图,imshow(wnr2)标题(“使用NSR = 0恢复模糊、噪声图像”

图中包含一个坐标轴。标题为“使用NSR = 0恢复模糊,噪声图像”的轴包含一个类型为Image的对象。

尝试使用更好地估计噪声对信号功率比进行恢复。

估计_nsr = cover_var / var(i(:));wnr3 = deconvwnr(blured_noisy,psf,估计_nsr);图,imshow(wnr3)标题('使用估计的NSR恢复模糊,嘈杂的图像');

图中包含一个坐标轴。使用估计的NSR模糊的标题恢复的轴包含类型图像的对象。

输入参数

全部收缩

模糊图像,指定为任何维度的数字数组。

数据类型:单身的|双倍的|int16|uint8.|uint16

点传播函数,指定为数字数组。

数据类型:双倍的

噪声信号比,指定为与图像大小相同的非负标量或数字数组,一世。如果NSR.是一个数组,那么它代表光谱域。指定0.NSR.相当于创建一个理想的逆滤波器。

数据类型:双倍的

噪声的自相关函数,指定为任意大小或尺寸的数字数组,不超过原始图像。

  • 如果是维度ncorr.匹配图像的维度一世然后,值对应于每个维度内的自相关。

  • 如果ncorr.是矢量和PSF.也是一个向量,那么值ncorr.表示第一维的自相关函数。

  • 如果ncorr.是矢量和PSF.是一个数组,然后通过对称推断1-D自相关函数与所有非单例尺寸外推PSF.

  • 如果ncorr.是标量,那么值表示图像噪声的功率。

数据类型:双倍的

图像的自相关函数,指定为任何大小或维度的数字数组,不超过原始图像。

  • 如果是维度iCorr.匹配图像的维度一世然后,值对应于每个维度内的自相关。

  • 如果iCorr.是矢量和PSF.也是一个向量,那么值iCorr.表示第一维的自相关函数。

  • 如果iCorr.是矢量和PSF.是一个数组,然后通过对称推断1-D自相关函数与所有非单例尺寸外推PSF.

  • 如果iCorr.是标量,那么值表示图像噪声的功率。

数据类型:双倍的

输出参数

全部收缩

deBlurred图像,作为数字阵列返回。j具有相同的数据类型一世

提示

  • 输出映像j可以表现出离散傅里叶变换引入的环。要减少振铃,请使用我= Edgetaper(I,PSF)在打电话之前Deconvwnr.

参考文献

[1]Gonzalez,R. C.和R. E. Woods。数字图像处理。Addison-Wesley Publishing Company,Inc。,1992年。

之前介绍过的R2006a